Random() Frage



  • #include <ctime>
    #include <iostream> 
    
    using namespace std;
    int main()
    {
        int eing;
        do
        {
        cout<<"\nDie Zahlen lauten: \n\n"<<endl; 
        for(int i=1;i<7;i++)
        {
        int izahl=rand()%50;
        cout<<izahl<<endl;
        }
    cout<<"\n\nNochmal neu ziehen? ? BEENDEN <0> : ";cin>>eing;
    system("CLS");
    }
    while (eing!=0);
    
    system("PAUSE");
    return 1;
    }
    

    Ich wollte gerne es so haben, dass man zufällige zahlen zwischen 1 und 49 ausgegeben bekommt, geht das denn ?

    Und mein zweites problem ist, dass bei jedem Programmstart die gleichen zahlen immer wieder angezeigt werden. muss ich da den hauptspeicher löschen oder wie ?

    Danke



  • :> schrieb:

    muss ich da den hauptspeicher löschen oder wie ?

    Tolle Idee. Versuchs doch mal. [scnr] Du suchst: srand (siehe google, boardsuche, faq, c++ standard buch/doku)

    Überleg doch mal wie man aus einer Zufallszahl zwischen 0 und 48 eine zwischen 1 und 49 macht 😉

    Gruß



  • :> schrieb:

    Und mein zweites problem ist, dass bei jedem Programmstart die gleichen zahlen immer wieder angezeigt werden. muss ich da den hauptspeicher löschen oder wie ?

    du mußt zum programmstart srand(clock()) ausführen.



  • :> schrieb:

    Ich wollte gerne es so haben, dass man zufällige zahlen zwischen 1 und 49 ausgegeben bekommt, geht das denn ?

    Und mein zweites problem ist, dass bei jedem Programmstart die gleichen zahlen immer wieder angezeigt werden. muss ich da den hauptspeicher löschen oder wie ?

    Danke

    Was noch nicht erwähnt wurde, aber vielleicht schön zu lesen ist, ist dass rand() auf mathematischen Formeln beruht. Deswegen auf deine Frage "geht das überhaupt" ein "nein" in Klammern 😉 selbst hinter srand steht wieder ein algorytmus (geht ja nicht anders). du kannst bei srand wie oben erwähnt z.B. die Uhrzeit als Ausgangswert für diese Berechnung benutzen. Dann ist die wahrscheinlichkeit, dass bei einer kleinen Menge die gleichen Zahlen kommen doch sehr gering 😃


Anmelden zum Antworten