Dringend Hilfe bei kleinem Programm



  • ICh soll ein C++ Programm schreiben hier meine Aufgabenstellung

    "
    Es ist ein Feld zu erzeugen, das für m verschiedene Personen die Noten in
    n verschiedenen Fächern aufnimmt.

    Ermitteln Sie für jede Person die Durchschnittsnote.

    Hinweise:

    Initialisieren Sie den Zufallszahlengenerator mit: srand(time(0))
    Die jeweilige Note können Sie dann zufällig ermitteln mit: rand()%5 + 1
    Die Anzahl der Personen und Noten ist auf 10 beschränkt.

    /*  3. Zweidimensionale Felder: 
    Erzeugen Sie zwei Matrizen vom Format (z, s <=20). 
    Geben Sie die beiden Matrizen, ihre Summe und ihre Differenz aus! 
    -------------------------------------------------------------------------------*/
    #include <iostream>
    #include <ctime>
    using namespace std;  
    #define nmax 10
    #define pmax 10
    int main()
    {  double a[10][10];
       int i, j, z, s;
       cout<<"\n  Fächer?";
       cin >>z;
       cout<<"\n  Personen?";
       cin >>s;
       srand( time(0) );    // für die Zufallszahlen
    
       for( i=0; i<z; i++)
       {   for( j=0; j<s; j++)  
    	   {  a[i][j];
    		  cout<<"  "<< a[i][j];            // i. Zeile Matrix a
    	   }
    
           cout<<endl;
       } // nächste Zeile
       for( i=0; i<z; i++);
       cout<<endl<<endl;  system("PAUSE"); return 0;
    }/*---------------------------------------------------------------------------*/
    

    so weit bin ich bereits jedoch weiß ist nicht weiter da ich ja eine Matrix erstelle und kein Feld


  • Mod

    Das ist nicht dringend.



  • Also Erstmal: Eine Matrix ist auch nur ein Feld... Ein Feld, das Felder enthält;

    Die jeweilige Note können Sie dann zufällig ermitteln mit: rand()%5 + 1

    Den Code dafür hattest du ja praktisch schon...

    for(int c=0; c<z; ++c)
       for(int d=0; d<s; ++d)  
         a[c][d] = rand()%5 + 1;
    

    Durchschnittsnote ist dann praktisch nochmal das selbe in ausführlich...

    double durchschnittsnoten[10] = {0}; //Alle Felder mit 0 Belegen
    for(int c=0; c<z; ++c) {
       int summe = 0;
       for(int d=0; d<s; ++d)  
         summe += a[c][d];
       durchschnittsnoten[c] = summe / ((double)s);
    }
    


  • SeppJ schrieb:

    Das ist nicht dringend.

    lol


Anmelden zum Antworten