Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    c++: Somma degli elementi di un vettore.

    Buonasera a tutti.
    Il programma non mi da errori di compilazione però come output mi da' un numero infinito, che passaggio sbaglio ?


    codice:
    #include <cstdlib>
    #include <iostream>
    #define max 100
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int numero,i,somma=0,media;
        int vett[max];
        cout<<"Programma che, dato il numero di capi di abbigliamento"<<endl;
        cout<<"comprati da 10 clienti in un negozio, determina il numero complessivo "<<endl;
        cout<<"di capi venduti e la media per cliente."<<endl;
        
        for (i=1;i<11;i++)
        {
            cout<<"Numero di capi comprati dal cliente numero "<<i<<": ";
            cin>>vett[i];
            while (numero<1)
            {
                  cout<<"Numero non ammesso, reinserire il numero "<<i<<": ";
                  cin>>vett[i];
            }
        }
        
        for (i=0;i<10;i++)
        {
            somma+=vett[i];
            cout<<somma;
        }
        media=somma/10;
        cout<<"La media e' "<<media<<".";
       
        system("PAUSE");
        return EXIT_SUCCESS;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Un chiarimento, prima di continuare ...

    Nella riga

    while (numero<1)

    la variabile numero risulta "non inizializzata" ... chi gli da' un valore?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Originariamente inviato da oregon
    Un chiarimento, prima di continuare ...

    Nella riga

    while (numero<1)

    la variabile numero risulta "non inizializzata" ... chi gli da' un valore?
    ..hai perfettamente ragione !

    codice:
    #include <cstdlib>
    #include <iostream>
    #define max 100
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int numero,i,somma=0,media;
        int vett[max];
        cout<<"Programma che, dato il numero di capi di abbigliamento"<<endl;
        cout<<"comprati da 10 clienti in un negozio, determina il numero complessivo "<<endl;
        cout<<"di capi venduti e la media per cliente."<<endl;
        
        for (i=1;i<11;i++)
        {
            cout<<"Numero di capi comprati dal cliente numero "<<i<<": ";
            cin>>vett[i];
            while (vett[i]<1)
            {
                  cout<<"Numero non ammesso, reinserire il numero "<<i<<": ";
                  cin>>vett[i];
            }
        }
        
        for (i=0;i<10;i++)
        {
            somma+=vett[i];
        }
        media=somma/10;
        cout<<"La somma e' "<<somma<<", mentre la media e' "<<media<<"."<<endl;
       
        system("PAUSE");
        return EXIT_SUCCESS;
    }

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Altra domanda ...

    Perché usi un primo for del tipo

    for (i=1;i<11;i++)

    e un secondo

    for (i=0;i<10;i++)

    Ovviamente, non stai accedendo ai valori inseriti da tastiera ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    oregooonnnnnn grazieeeee !! risolto risolto !! e io che mi sto scervellando da ore ..

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ma figurati ... solo disattenzioni ...

    Un ultimo consiglio ... usa una variabile double per la media ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.