Programma semplicissimo in C++ (somma sottosequenze)

di il
1 risposte

Programma semplicissimo in C++ (somma sottosequenze)

Salve a tutti... Dovrei fare il seguente programma... mi rendo conto che è semplicissimo, ma non riesco a fare in modo di lavorare con le 3 variabili (mi è stato detto di procedere con 3 var) per la risoluzione... la traccia è:

Data una sequenza di sottosequenze separate da uno zero, calcolare la somma di ciascuna sottosequenza. La sequenza è terminata da una coppia di zeri.

Es) INPUT >> 3 8 0 5 0 -2 5 00
OUTPUT >> 11 5 3

Mi date qualche dritta perfavore? grazie anticipatamente...

1 Risposte

  • Re: Programma semplicissimo in C++ (somma sottosequenze)

    
    bool isDoppioZero = false;
    int indiceCarica = 0;
    int indiceCalcola = 0;
    int valoriDiversiDaZero = 0;
    int valore = 0;
    int sequenza[50];  // poi vedi tu quanto deve essere lungo il vettore (io ho messo 50)
    int sequnzaSenzaZeri[50];
    // Carica il vettore --------------------------------------------------------------
    
    while ( (indiceCarica < 50 ) && ( ! isDoppioZero ) )  
    {
         printf("Inserisci valore : ");
         scanf("%d" , &valore); 
         sequnza[indiceCarica] = valore;
         if ( indiceCarica > 0)
         {
               if ( (sequenza[indiceCarica] == 0) && ( sequeza[indiceCarica-1] == 0) )
              { 
                  doppioZero = true; 
              }
         }
        indiceCarica++ ;
     }
    
    // carica il vettore sequenzaSenzaZeri   -----------------------------
    
    while ( indiceCalcola < indiceCarica)
    {
        if ( sequenza[indiceCalcola] != 0 )
        {
              sequnzaSenzaZeri[indiceCalcola] = sequenza[indiceCalcola];
              valoriDiversiDaZero++;
        }
        indiceCalcola ++;
    }
          
    // Calcola e stampa le somme ------------------------
    indiceCalcola = 0;
    while (indiceCalcola < (valoriDiversiDaZero-1))
    {
         printf(" -> %d ", sequenzaSenzaZeri[indiceCalcola] + sequenzaSenzaZeri[indiceCalcola+1]) ;
         indiceCalcola = indiceCalcola + 2 ;
    }
    
    Provalo e fammi sapere. Ci potrebbero essere errori di sintassi è da tanto che non uso il C.
    Fammi sapere
Devi accedere o registrarti per scrivere nel forum
1 risposte