Aiuto semplice programma c++

di il
7 risposte

Aiuto semplice programma c++

Salve a tutti,questo è il mio primo post,volevo un aiuto su un programma che sto facendo.Praticamente devo inserire i simboli del risultato del calcio
Es 1 = vittoria squadra casa
X = pareggio
2 = vittoria squadra ospite
Bene ora il programma funziona ma devo implementare un modo per poter vedere alla fine la sequenza di simboli più lunga,ad esempio :

1
2
1
1
X
2
2
2

X
1

Il 2,2,2 è la sequenza più lunga in quanto si ripete tre volte,ho provato a farlo funzionare ma non va.Qualche consiglio?


#include <iostream>
#include <cstdlib>
using namespace std;

int pcasa,pareggio,pospite,npunti;
char p;

int main() 
{
	cout <<"Quanti simboli da inserire?"<<endl;
	cin >> npunti;
	while(npunti > 0)
	{
		npunti--;
		cout <<"Immetti il simbolo"<<endl;
		cin >> p;
		if(p == '1')
		{
			pcasa++;
		}
		if(p == 'X')
		{
			pareggio++;
		}
		if(p == '2')
		{
			pospite++;
		}
		


		
		
	}
	cout <<"Partite vinte casa " << pcasa<<endl;
	cout <<"Partite pareggiate " << pareggio<<endl;
	cout <<"Partite vinte ospite " << pospite<<endl;
	system("pause");
	return 0;
}

7 Risposte

  • Re: Aiuto semplice programma c++

    Cosa non va ?

    Sei proprio sicuro ?

    Secondo me va benissimo... per come ha scritto il codice...
  • Re: Aiuto semplice programma c++

    ramcrack ha scritto:


    Cosa non va ?

    Sei proprio sicuro ?

    Secondo me va benissimo... per come ha scritto il codice...
    No,nel senso che non riuscivo ad implementare la funzione che dicevo della sequenza,ma ci sto provando da solo... vediamo.
  • Re: Aiuto semplice programma c++

    Mi fa piacere che tu voglia provare a risolvere il tuo problema da solo...

    ... sarei poi curioso di vedere quale soluzione hai trovato
  • Re: Aiuto semplice programma c++

    ramcrack ha scritto:


    Mi fa piacere che tu voglia provare a risolvere il tuo problema da solo...

    ... sarei poi curioso di vedere quale soluzione hai trovato
    Ok lo ho fatto e funziona ecco il codice :
    
    #include <iostream>
    #include <cstdlib>
    
    using namespace std;
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    
    int pcasa,pareggio,pospite,npunti,sequenza,sequenzaMassima;
    char p,c,cMassimo;
    bool primo = true;
    int main() 
    {
    	cout <<"Quanti simboli da inserire?"<<endl;
    	cin >> npunti;
    	while(npunti > 0)
    	{
    		npunti--;
    		cout <<"Immetti il simbolo"<<endl;
    		cin >> p;
    		if(primo)
    		{
    			c = p;
    			sequenza = 1;
    			primo = false;
    		}
    		
    		
    		if(p == '1')
    		{
    			pcasa++;
    		}
    		if(p == 'X')
    		{
    			pareggio++;
    		}
    		if(p == '2')
    		{
    			pospite++;
    		}
    		
    		if(c == p)
    		{
    			
    			if(sequenza > sequenzaMassima)
    			{
    				sequenzaMassima = sequenza;
    				cMassimo = c;
    			}
    			sequenza++;
    			
    			
    		}else
    		{
    			sequenza = 0;
    			c = p;
    		}
    		
    
    
    		
    		
    	}
    	cout <<"Partite vinte casa " << pcasa<<endl;
    	cout <<"Partite pareggiate " << pareggio<<endl;
    	cout <<"Partite vinte ospite " << pospite<<endl;
    	cout <<"Sequenza piu' lunga "<<cMassimo<<" - "<<sequenzaMassima<<" volte"<<endl;
    	system("pause");
    	return 0;
    }
  • Re: Aiuto semplice programma c++

    Funziona ?
    Sei sicuro che funzioni il codice ?
  • Re: Aiuto semplice programma c++

    Secondo me è troppo incasinato. basta che ti carichi i tre valori su un vettore di tipo int e poi con la funzione sort lo riordini, prendendo il terzo valore come quello più grande
  • Re: Aiuto semplice programma c++

    Potrebbe essere una soluzione, ma comunque parziale, questo perchè il valore più alto del vettore deve essere sempre abbinato al segno "1" oppure "X" oppure "2"...

    se lui mette i tre valori e solo quelli nel vettore int, e poi ordina il vettore dal valore più basso al valore più alto perderebbe comunque la corrispondenza del valore più alto con il suo relativo segno...

    Capito, devono sempre viaggiare in parallelo, sia il segno che il suo valore di ripetizione...

    Comunque il codice scritto è tutto bacato e non funzionante, pieno di cose inutili che non danno risultato... e non capisco il perchè scritto quell'accozzaglia di istruzioni, alla fine dice pure che funziona... mah!!!
Devi accedere o registrarti per scrivere nel forum
7 risposte