Zufallsgenerator Optimierung....



  • int main()
    {
        int zz[99];
        for(int i = 0; i < 100; i++)
        {
        srand (time(NULL));
        zz[i] = rand()%100+1;
        std::cout << "loading " << i << "%" << std::endl;
        for(double i = 0; i < 99999999; i++)
        {};
        };
        system("PAUSE");
    };
    

    das ist mein aktuelle Funktion zur Speicherung von "Zufallszahlen" nur diese Funktion dauert scheisse langsam... aber sobald ich die funktion verkürze kommen immer die 6 oder 7 mal die gleiche Zahl raus... mache ich was falsch oder geht das einfach nicht anders.....



  • Schreib das srand() vor die Schleife (wie oft kommt dieses Problem eigentlich noch?)



  • solange bis die hiesige Suche funktion die richtigen Threads ausspuckt....





  • ich habe auch bei google gesucht 😉 und ich habe da immer nur "meine" Lösung gefunden..... und ich denke das google ein wesentlich grösseres Spektrum an lösungen bieted als dieses Forum hier 😉



  • 😮

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-172876.html

    Zweites Suchergebniss Google Suche nach "C++ Zufall immer gleiche Zahl" 😉



  • Jud4s schrieb:

    int main()
    {
        int zz[99];
        for(int i = 0; i < 100; i++)
        {
        srand (time(NULL));
        zz[i] = rand()%100+1;
        std::cout << "loading " << i << "%" << std::endl;
        for(double i = 0; i < 99999999; i++)                 // was soll diese schleife tun???
            // wenn dies eine verzögerung sein soll schreib dir ne wait funktion, die zeitlich abhängig ist und nicht vond er stärke des prozessors...
        {};
        };
        system("PAUSE");
    };
    

    was willst du üebrhaupt genau machen?
    willst so nen ladebalken machen??? wenn ja dann ist das so schon mal falsch
    oder willst du eifnach so ne zufallszahl haben??



  • Ausserdem überschreitest du schon mal die Array-Grenzen, da du 99 Elemente hast aber so lange zählst, wie i < 100 ist. Das heisst, wenn i 99 ist, greifst du auf zz[99] zu, was aber den Speicherbereich überschreitet.

    Zudem sind Semikolons am Ende eines Blockes nicht notwendig.



  • nein, da ich ein relativ gleichmässiges Spektrum an Zahlen habe, wollte ich ca 1024 dieser Zahlen Speichern und dann immer jede 8te in einem weiterem Array.... dessen Daten ich dann per einer erneuten zufallszahl ausgewählt hätte.... 🤡 allerdings bin ich auf den Trichter gekommen das meine Idee schwachsinn ist.... und deswegen habe ich gefragt... da ihc zu blöd war google zu benutzen *schäm* (ich habe nach den falschen begriffen gesucht..;).).. nun aber mit eurer Lösung kann ich das Problem ganz anders lösen....^^ thx @all


Log in to reply