Oppure

Loading
09/10/11 15:39
osharko
salve, volevo sapere se qualcuno di voi potesse aiutarmi a capire perchè il mio caro e vecchio devo mi da problemi con questo programma
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int clas[30][3]={0};
    char a=248;
    for(int i=0;i<3;i++)
    {
            system("CLS");
            cout<<"SEZIONE "<<i+1<<endl;
            for(int j=0; j<30, clas[j][i]!=0; j++)
            {
                    cout<<"\nInserisci l'altezza del "<<j+1<<a<<" alunno/a espresso in cm. => ";
                    cin>>clas[j][i]; 
              }
     }
    int mediaclas[3]={0},mediasez=0,cont[3]={0},j=0,contj=0;
    for(int i=0;i<3;i++)
    {
            for(j=0; j<30,clas[j][i]!=0; j++)
            {
                    mediaclas[i]=mediaclas[i]+clas[j][i];
                    mediasez=mediasez+clas[j][i];
                    if(clas[j][i]>170)
                    {
                     cont[i]++;
                     }
              }
              contj=contj+j;
              mediaclas[i]=mediaclas[i]/j;
     }
     
     cout<<"L'altezza media classe 1="<<mediaclas[0]
         <<"L'altezza media classe 1="<<mediaclas[1]
         <<"L'altezza media classe 1="<<mediaclas[2];
     
     
     
    system("PAUSE");
    return EXIT_SUCCESS;
}

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
SEZIONE 3:

non scrive nemmeno SEZIONE1-SEZIONE2...
help me please
aaa
09/10/11 17:40
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 09/10/11 17:41
09/10/11 17:45
crybot
oppure:
for(int j=0; j<30 || clas[j][i]!=0; j++)
{
...
}
aaa
09/10/11 18:02
Postato originariamente da crybot:

oppure:
for(int j=0; j<30 || clas[j][i]!=0; j++)
{
...
}


Ma così non serve ...
09/10/11 19:50
osharko
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][i]...
perchè così si riferisci al carattere già letto
aaa
09/10/11 20:04
Non puoi inserire quella condizione nella for.

Dopo la

cin>>clas[j][ i];

usa una

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