Zufallszahl nicht mit srand()
-
sers,
ich brauche eine möglichkeit eine zufallszahl zu initialisieren, im bereich von 0 bis eingabe... eigentlich würde ich dafür nehmen -> srand(time(NULL));
die liefert mir aber nur jede sekunde eine neue zufallszahl, aber ich brauch innerhalb einer sekunde mehrere zufalsszahlen! wie mach ich das? und bitte kein Sleep(1000); oder sowas, ich brauchs wirklich binnen einer sekunde!besten dank schonmal im voraus!
-
Man sollte srand nur ein einziges Mal aufrufen.
-
Hallo
srand liefert dir gar keine Zufallszahlen, sondern initialisiert nur den Zufallszahlengenerator. An die Zahlen kommst du dann mittels rand(). Das kannst du auch mehrmals in einer Sekunde aufrufen.
chrische
-
natürlich kann ich das auch mehrmals in einer sekunde aufrufen, nur mach das mal ohne in dieser sekunde immer die gleichen zahlen zu bekommen! ich such halt was anderes, irgendeine idee sonst?
-
Hallo
Hast du den Tipp von Konstruktör beachtet? Zeig mal den Code, weil wir sonst nur raten können.
chrische
-
es gibt keinen code, mein problem is dass wenn ich meinetwegen hab
srand(time(NULL));
zahl1 = rand() % 5;
//so alles bis jetzt okay aber jetzt kommt direkt danach :
srand(time(NULL));
zahl2 = rand() % 5;also sollen in dem beispiel 2 zahlen (zahl1 und zahl2) eine zufallszahl bekommen, nur ist die bei beiden die gleiche und das ist ja auch klar so, aber ich brauch eben was anderes als srand() um in einer sekunde mehrere verschiedene zufallszahlen zu erhalten!
mfg
-
dann schmeiss das zweite srand raus, damit startet rand wieder von vorn und mit der selben zeit kommt auhc das selbe raus
srand((unsigned)time(NULL)); int zahl1 = rand()%5; int zahl2 = rand()%5;
-
Hallo
@swat: Der Tipp mit dem einmaligen Aufrufen wurde doch nun schon zweimal genannt.
Was heißt denn außerdem es gibt keinen Code? Du hast doch selber welchen gepostet.chrische
-
schreib
srand(time(0));
als erste zeile in die
int main()
und gut ists. so sicherst du ab, daß es wirklich nur ein einziges mal aufgerufen wird.
-
son scheiß, das ging aber irgendwie nicht damals, dann hab ich da wohl ne klammer oder ähnliches vergessen, okay besten dank an euch...