Randomize

Hallo,
ich suche nach eineer moeglichkeit in C++ randomize (zufaellige zahlen in eine variable zu bringen.
Ich kenne aber den befehl nicht um eine zufaellige zahl zu generieren.
Ich habe den rand() und srand() schon angeguckt, aber da sind es immer die gleichen nummern. Gibt es da noch andere moeglichkeiten??
thx

Steffen

rand und srand sind schon ok, du mußt bloß wissen, wie man sie benutzen muß:

srand produziert für rand sozusagen einen Startwert, der dann dazu führt, daß zufällig Zahlen von rand erzeugt werden. Wenn du natürlich für srand jedesmal die selbe Zahl nimmst, kommt natürlich immer dasselbe raus.

Versuch’ doch z.B. mal Speicher zu allokieren - die Adresse, an der dein Zeiger mit dem Array beginnt ist ‚ne ziemlich zufällige Sache, denke ich. Übergib‘ doch einfach mal nach einer Allokation einfach mal diese Zeigeradresse an srand als Startparameter.

FLorian

rand und srand sind schon ok, du mußt bloß wissen, wie man sie
benutzen muß:

srand produziert für rand sozusagen einen Startwert, der dann
dazu führt, daß zufällig Zahlen von rand erzeugt werden. Wenn
du natürlich für srand jedesmal die selbe Zahl nimmst, kommt
natürlich immer dasselbe raus.

Versuch’ doch z.B. mal Speicher zu allokieren - die Adresse,
an der dein Zeiger mit dem Array beginnt ist 'ne ziemlich
zufällige Sache, denke ich.

Nicht immer. Hin und wieder (bei dem selben Rechner) gibt es die selbe Adresse.
Üblicherweise nimmt man die Systemzeit zur Initialisierung.

Gruß Frank :smile:

Moin,

ich suche nach eineer moeglichkeit in C++ randomize
(zufaellige zahlen in eine variable zu bringen.
Ich kenne aber den befehl nicht um eine zufaellige zahl zu
generieren.

srand(time(NULL) + getpid());
int zufall = rand() % INT_MAX;

(Bin immer noch zu faul nachzusehen, ob rand() int oder long ist)

Thorsten

Hallo, es funkztioniert teilweise. Leider ist es dann nur eine andere zahl, jede sekunde, also nicht so optimal.
ich kann mich erinnern, dass es in TURBO PASCAL (ich weiss, vergleich ist nicht soooooo gut) einen einzigen befehl gab, der einwandfrei funktioniert hat.
THX trotzdem

Steffen

Moin,

Hallo, es funkztioniert teilweise. Leider ist es dann nur eine
andere zahl, jede sekunde, also nicht so optimal.

Stimmt, das war mißverständlich.

srand(time(NULL) + getpid());
for (int i = 0; i 
Steht auch in der manpage.

Thorsten