Bin totaler C++ Anfänger und hab ne Aufgabe bekommen, die ich net lösen kann...



  • Also, die Aufgabe lautet:

    Das Politbarometer erstellt alle 14 Tage eine Umfrage, mit der die 10 wichtigsten Politiker ermittelt werden sollen. Erstellen Sie ein Programm politbarometer.cpp, das die Verteilung der Beliebtheit simulieren soll. Verwenden Sie an Stelle der Umfrage die folgenden Pseudozufallszahlenfunktion
    x = rand()%6 + 1
    Die Werte dieser Funktion liegen im Intervall [1,6]. Erzeugen Sie mit dieser Funktion 10 Werte und bilden Sie den Mittelwert. Geben Sie dann die Liste der Politiker, sortiert nach ihrer momentanen Beliebtheit aus.

    Hinweise: Um die Funktion rand() verwenden zu können, müssen Sie die Dateien <stdlip.h> und sinnvollerweise <time.h> mit Hilfe von #include einbinden. Vor der ersten Verwendung können Sie dann den Zufallszahlengenerator ein einziges Mal durch den Aufruf
    srand(time(NULL);
    initialisieren.

    Wow, gekonnt abgeschrieben 😃
    (dumme) CoraX



  • <stdlib.h> nicht lip 🙂

    ansonsten wo ist genau dein Problem? Die komplette Aufgabe löst dir hier sicher niemand :p



  • CoraX schrieb:

    srand(time(NULL);

    Muss aber

    srand(time(NULL));
    

    heißen. (So viel zum Abschreiben)



  • Mei... schon spät... ^^

    Trotzdem danke...



  • Trotzdem

    😕 🙄 😕 🙄 😮



  • Na, obwohl es spät is



  • Vielleicht hilft dir dieses Beispiel etwas weiter:

    #include <iostream>
    #include <cmath>
    #include <ctime>
    #include <conio.h>
    using namespace std;
    
    int main()
    {
        srand(time(0));
    
        int N;
        cout << "Anzahl Messwerte: ";
        cin >> N;
        double * px = new double[N]; // dynamischen Speicher anfordern
    
        for (int i = 0; i < N; ++i)
        {
             double eingabe;
             /*
             cout << "Messwert Nr. " << i+1 <<" : ";
             cin >> eingabe;
             */
    
             eingabe = static_cast<double>( rand()%49+1 ); 
             // Zufallszahl zwischen 1 und 49
    
             *(px+i) = eingabe;
        }
    
        //Mittelwert m
        double m = 0;
        for (int i = 0; i < N; ++i)
        {
            m += *(px+i); // m = m + x[i]
        }
        m /= N;
    
        //Varianz var
        double var = 0;
        for (int i = 0; i < N; ++i)
        {
            var += (*(px+i) - m) * (*(px+i) - m);
        }
        var /= ( N-1 );
    
        //Standardabweichung sigma
        double sigma = sqrt( var );
    
        cout << "Mittelwert:         " << m     << endl;
        cout << "Varianz:            " << var   << endl;
        cout << "Standardabweichung: " << sigma << endl;
    
        delete[] px;
        getch();
    }
    

    Eine sort-Funktion findest du in der STL.


Anmelden zum Antworten