Ich erzeuge Zufallszahlen mit srand (Zeit (NULL)). Irgendeine Idee warum es immer nur gerade Zufallszahlen gibt? In meinem Fall gibt es so. Bitte helfen, ich brauche auch ungerade Zahlen. Ich brauche den Satz von 0s, 1s. für zB: {1,1,0,0,1,0,0,0,1,1,0}Zufallszahlengenerator mit einem Seed
0
A
Antwort
0
man denke an die PRNG Initialisierung wie eine Variable initialisiert ... Sie tun nicht
// pseudo-code
// print numbers from 1 to 10
do 10 times
number_to_print = 1
print number_to_print
number_to_print++
end loop
Ebenso sollte srand()
nur einmal pro Programmlauf aufgerufen werden.
call srand() // initialize PRNG
loop
rand()
end loop
3
Anruf
srand(time(NULL));
nur einmal am Anfang des Programms, es "mischt" die Zufallssequenz.
nennen Dann
rand();
Und es wird eine Zahl im Bereich 0
-RAND_MAX
zurückzukehren.
Wenn Sie nur 0 oder 1 ist, dann können Sie versuchen, mit
int n = rand() % 2;
oder
int n = rand() & 0x01;
+0
Danke, es hat sofort funktioniert. –
Nicht ohne den Code zu sehen, den Sie verwenden. –
Sie machen etwas falsch. Bitte zeigen Sie uns Ihren Code. –
Srand (Zeit (NULL)) ist nur ein Samen. Zeigen Sie uns Ihren Code, wo die Funktion rand() Zahlen zuweist. – ScarletAmaranth