Wie erzeuge ich Zufallszahlen in einem Intervall [0,1]?
Wenn ich die rand() Funktion benutze, bekomme ich nur ganzzahlige Zufallszahlen in einem Bereich, der nicht weiter spezifiziert ist.
Danke für Eure Hilfe!
Wie erzeuge ich Zufallszahlen in einem Intervall [0,1]?
Wenn ich die rand() Funktion benutze, bekomme ich nur
ganzzahlige Zufallszahlen in einem Bereich, der nicht weiter
spezifiziert ist.
Danke für Eure Hilfe!
Wenn Du Zufalls-Kommazahlen zwischen 0 und 1 willst, dann erzeuge doch einfach ganzzahlige zwischen 0 und 1000000.
Die kannst Du dann dividieren, dann hast Du bei diesem Beispiel 6 Nachkommastellen.
Gruss, Christof
Wie erzeuge ich Zufallszahlen in einem Intervall [0,1]?
Wenn ich die rand() Funktion benutze, bekomme ich nur
ganzzahlige Zufallszahlen in einem Bereich, der nicht weiter
spezifiziert ist.
Danke für Eure Hilfe!
In der Hilfe zu rand( ) steht folgendes:
The rand function returns a pseudorandom integer in the range 0 to RAND_MAX.
Damit weißt du dass rand( ) eine Zufallszahl zwischen 0 und RAND_MAX liefert, Endpunkte jeweils eingeschlossen. Wenn Du jetzt aber nur Zahlen zwischen 0 und 1 haben möchtest (Endpunkte jeweils wieder eingeschlossen), verwendest Du am besten den Rest der Division der erhaltenen Zufallszahl durch RAND_MAX.
Des weiteren ist zu beachten, dass der Zufallszahlengenerator ohne besondere Initialisierung bei jedem Programmstart exakt dieselbe Zahlenfolge liefert. Daher solltest Du ihn mit srand( … ) so initialisieren, dass er „echte Pseudozufallszahlen“ liefert.
#include
#include
#include
double dRandom;
srand(( unsigned )time( NULL ));
dRandom=( double )( rand( )%RAND\_MAX );
Stünde alles in dieser Form in der Online-Hilfe…
Grüsse Safog