Zufallszahlen - problem



  • Hallo,

    um die Laufzeit eines Algorithmus zu untersuchen muss ich verschieden Textdateien generieren, in denen Ganzzahlen untereinander stehen.

    Habe dazu folgendes Programm geschrieben:

    #include <iostream>
    #include <stdlib.h>
    #include <fstream>
    
    using namespace std;
    
    int main()
    {
        int zahlen[100000];
        ofstream aus("aus1.txt");
    
        for(int i=0;i<100000;i++){
            zahlen[i]=0 + ( rand() % ( 100000 - 0 + 1 ) );
            aus << zahlen[i] << endl;
        }
    
        return 0;
    }
    

    Mit 100000 Zahlen funktioniert dieser auch.

    Mit 1000000 Zahlen jedoch bricht das Programm ab und funktionier nicht.

    Woran könnte das liegen, ist das Array einfach zu groß oder liegt es an der funktion rand() ?

    Um Hilfe würde ich mich freuen,

    Mfg Neffes



  • Nicht genug Platz auf dem Stack. Wozu überhaupt das Array, das macht doch gar keinen Sinn.

    #include <iostream>
    #include <random>
    
    int main()
    {
        unsigned long long n;
        if (std::cout << "Count: " && std::cin >> n)
        {
            std::default_random_engine e; // Seed nicht vergessen uU
            std::uniform_int_distribution<> d;
            while (n--)
                std::cout << d(e) << '\n';
        }
    }
    


  • stimmmt mit dem Array habs weggemacht jetzt funktonierts , danke



  • Aus Symmetrie-Gründen würde ich aber auch noch ein +0 dazu schreiben 🙂


Anmelden zum Antworten