Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Altezza di tre classi della stessa sezione
Forum - C/C++ - Altezza di tre classi della stessa sezione

Avatar
osharko (Normal User)
Pro


Messaggi: 124
Iscritto: 16/04/2011

Segnala al moderatore
Postato alle 17:39
Domenica, 09/10/2011
salve, volevo sapere se qualcuno di voi potesse aiutarmi a capire perchè il mio caro e vecchio devo mi da problemi con questo programma
Codice sorgente - presumibilmente C++

  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8.     int clas[30][3]={0};
  9.     char a=248;
  10.     for(int i=0;i<3;i++)
  11.     {
  12.             system("CLS");
  13.             cout<<"SEZIONE "<<i+1<<endl;
  14.             for(int j=0; j<30, clas[j][i]!=0; j++)
  15.             {
  16.                     cout<<"\nInserisci l'altezza del "<<j+1<<a<<" alunno/a espresso in cm. => ";
  17.                     cin>>clas[j][i];
  18.               }
  19.      }
  20.     int mediaclas[3]={0},mediasez=0,cont[3]={0},j=0,contj=0;
  21.     for(int i=0;i<3;i++)
  22.     {
  23.             for(j=0; j<30,clas[j][i]!=0; j++)
  24.             {
  25.                     mediaclas[i]=mediaclas[i]+clas[j][i];
  26.                     mediasez=mediasez+clas[j][i];
  27.                     if(clas[j][i]>170)
  28.                     {
  29.                      cont[i]++;
  30.                      }
  31.               }
  32.               contj=contj+j;
  33.               mediaclas[i]=mediaclas[i]/j;
  34.      }
  35.      
  36.      cout<<"L'altezza media classe 1="<<mediaclas[0]
  37.          <<"L'altezza media classe 1="<<mediaclas[1]
  38.          <<"L'altezza media classe 1="<<mediaclas[2];
  39.      
  40.      
  41.      
  42.     system("PAUSE");
  43.     return EXIT_SUCCESS;
  44. }


serve per determinare :
l'altezza media di ogni classe;
l'altezza media della sezione;
la classe col numero di persone più alte..-
ora vorrei sapere da voi se c'era qualche errore, perchè dopo la compilazione il programma parte pure, però crasha immediatamente dandomi a video la scritta
Codice sorgente - presumibilmente Plain Text

  1. SEZIONE 3:


non scrive nemmeno SEZIONE1-SEZIONE2...
help me please

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:40
Domenica, 09/10/2011
Questa riga

for(int j=0; j<30, clas[j][ i]!=0; j++)

deve essere

for(int j=0; j<30; j++)

Ultima modifica effettuata da nessuno il 09/10/2011 alle 19:41


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
crybot (Member)
Pro


Messaggi: 115
Iscritto: 13/09/2011

Segnala al moderatore
Postato alle 19:45
Domenica, 09/10/2011
oppure:
Codice sorgente - presumibilmente Plain Text

  1. for(int j=0; j<30 || clas[j][i]!=0; j++)
  2. {
  3. ...
  4. }


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:02
Domenica, 09/10/2011
Testo quotato

Postato originariamente da crybot:

oppure:
Codice sorgente - presumibilmente Plain Text

  1. for(int j=0; j<30 || clas[j][i]!=0; j++)
  2. {
  3. ...
  4. }




Ma così non serve ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
osharko (Normal User)
Pro


Messaggi: 124
Iscritto: 16/04/2011

Segnala al moderatore
Postato alle 21:50
Domenica, 09/10/2011
Testo quotato

Questa riga

for(int j=0; j<30, clas[j][ i]!=0; j++)

deve essere

for(int j=0; j<30; j++)


no, mi serve la doppia condizione, xkè nn mi serve per forza lo scorrimento di tutto e 30 il vettore..
cry ho provato come dici tu ma comunque non funge
in più la condizione mo che ci penso va messa così
....clas[j-1]...
perchè così si riferisci al carattere già letto

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:04
Domenica, 09/10/2011
Non puoi inserire quella condizione nella for.

Dopo la

cin>>clas[j][ i];

usa una

if(clas[j][ i] == 0) break;



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote