Random liefert immer die gleichen Werte



  • Hallo,

    ich hab folgendes Problem:

    Ich hab ein Lottoprogramm geschrieben, aber die Werte die herauskommen sind immer die selben.

    Also ich kann das Programm 5 mal aufrufen und es werden immer die gleichen Zahlen geziegt.

    Ich glaube nicht, dass der Zufall es so will, dass immer genau die Zahlen in der gleichen Reihenfolge kommen.

    Ich schätze mal, dass mein rand() Code falsch ist.
    Falls nicht sollt ich wohl spielen gehn ...

    Hier mein Code:

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    
        int a,b,c,d,e,f,g; // Platzhalter der Lottozahlen
        int n=49;
        int m=0; // 0 bis 49
    
        a = m + rand() % ( n - m );
        c = m + rand() % ( n - m );
        b = m + rand() % ( n - m );
        e = m + rand() % ( n - m );
        d = m + rand() % ( n - m );
        g = m + rand() % ( n - m );
        f = m + rand() % ( n - m );
    
        cout<<"Die Lottozahlen: "<<a<<" "<<b<<" "<<c<<" "<<d;
        cout<<" "<<e<<" "<<f<<" "<<g;
    
        cout<<"\n\n";
        system("pause");
    
        a=99;    // Zahlenänderung um sicher zu gehen, dass die Werte nicht bleiben.
        b=99;
        c=99;
        d=99;
        e=99;
        f=99;
        g=99;
    
        return 0;
    }
    

    Vielen Dank schonmal für eure Hilfe.



  • Hi!

    Du solltest über die Funktion srand(), einmal zu Programmstart, den Zufallszahlengenerator intialisieren:

    srand(static_cast<int>(time(0)));
    

    Ich denke, folgender Artikel könnte dir auch weiterhelfen:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-172876.html

    Greetz


Anmelden zum Antworten