Große Zufallszahlen erzeugen
-
Hallo, mit rand und srand kann man ja Zhfallszahlen in einem ereich von 0 bis MAX_RAND (32767) erzeugen. Wenn ich nun Zufallszahlen von 0 bis 10.000.000 erzeugen möchte habe ich ja Lücken, wenn ich es so mache:
int range = 10000000, zufall; zufall = (rand() * range)/MAX_RAND;weil z.B. (rand() == 10000) -> zufall = 3051850
und (rand() == 10001) -> zufall = 3052156da klafft dann schon ne große Lücke zwischen den beiden Zufallszahlen. Wie kann ich den kompletten Range abdecken, so dass theoretisch wirklich jede Zahl innerhab des Ranges als Ergebniss erscheinen könnte? Vieleicht mache ich ja einen Denkfehler, oder es gibt Winapifunktionen dafür (daher poste ich ja hier und nicht im ANSI-C). Wer kann helfen?
-
Erzeuge Zufallszahl Fragemente.
Mehrfach einfach Zufallszahlen zwischen 0 und 9999 (nehmen wir an Du machst das mit einer funktion rand10000) erzeugen und dann diese zu jeweils einer 10000er Gruppe verwenden.
r = rand10000()+rand10000()*10000;
-
zufällig verwirrt schrieb:
oder es gibt Winapifunktionen dafür
Jain. Aber es gibt sowas wie Boost.Random

-
-
TR1 enthält auch Zufallsgeneratoren:
http://msdn.microsoft.com/en-us/library/bb982398.aspxGruss, Simon
-
theta schrieb:
TR1 enthält auch Zufallsgeneratoren:
http://msdn.microsoft.com/en-us/library/bb982398.aspxGruss, Simon
Ja, danke aber ich benutze kein c++. Auch den anderen vielen Dank für die Hilfe.