Double Zufallszahlen generieren???



  • Hallo,

    und zwar hab ich ein kleines Problem. Ich will Double-Zufallszahlen generieren, die bei jedem Progammstart unterschiedlich sind. Dafür hab ich einfach bei der Generierung einen Saatpunkt gesetzt.

    #include <iostream>
    #include <time.h>
    #include <algorithm>
    
    using namespace std;
    
    int main()
    {
    	double random;
    	unsigned seed = time(NULL);
    	srand(seed);
    	random = (double)(rand()/RAND_MAX;)
    	cout << random;
    	system("pause");
    	return 0;
    }
    

    Nun wenn ich das Programm ausführe zeigt er mir immer nur die "0" an. Eigentlich müsste er mir doch eine Zahl zwischen "0" und "1" anzeigen oder? Was mach ich denn falsch und wie kann man es richtig machen? Danke schon einmal für eure Hilfe.



  • die sache ist die, dass rand() immer ein int liefert (oder wars ein long?). Da bei ner Ganzzahldivision da nur 0 rauskommen KANN musst du dashier machen:

    ((double)rand())/RAND_MAX;
    

    ich weiß jetzt nciht, ob die ganzen klammern nötig waren, aber besser zu viel als zu wenig 😉
    geloescht



  • Danke für die Hilfe, jetzt klappt alles.


Anmelden zum Antworten