Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Zufallszahlen in (V)C(++)

SeeksTheMoon / 4 Antworten / Flachansicht Nickles

Moin!
Ich hab eine Funktion geschrieben, die mir Zufallszahlen im Bereich 1-6 liefern soll, aber irgendwie habe ich das Gefühl, dass die Zahlen ein bestimmtes Muster bilden, obwohl ich die Funktion von der Systemzeit abhängig gemacht habe:

...

int wuerfel()
{
time_t t;
srand((unsigned) time(&t));
return ((int) (rand() %10)*0.6+1);
}

...

Liegts am Algo oder was? Er ist nicht gerade der hit, aber er sollte eigentlich ausreichen.
Kennt jemand eine bessere Methode, die nicht zu lang/komplex ist?

bei Antwort benachrichtigen
SeeksTheMoon Nachtrag zu: „Zufallszahlen in (V)C(++)“
Optionen

thx. Mit der Wahrscheinlichkeit, da hätte ich auch drauf kommen sollen (kein tolles Zeugnis für einen Informatiker, hm?).

Dass rand nur pseudo liefert ist schon klar, dafür ist ja der Zeitfaktor mit eingebaut.

Klaro sind die Frequenzen zufällig, aber nicht, wenn sie sich jedes 4. mal wiederholen (wenn man sich den Bereich noch auf 20 und 100 erweitert und alle drei Varianten zusammen laufen lässt, dann fällt es besonders stark auf).

Ich hab übrigens auf planet-source-code einen fetten Algo gefunden, der "echte" Zufallszahlen generiert, aber für quick and dirty reicht meiner ja allemal aus.

cu

bei Antwort benachrichtigen