Jeder Aufruf von rand() zieht eine neue Zufallszahl. Da es sich um in etwa gleichverteilte Zufallszahlen handelt, ist es natürlich möglich, dass zweimal hintereinander die selbe Zahlt kommt, aber sehr unwahrscheinlich. Der durch srand() gesetzte Seed bestimmt die Sequenz von Zufallszahlen, die rand() dir liefert. Jedes Mal, wenn du srand() mit einem ganz bestimmten Wert aufrufst, wird rand() von dort ab wieder die selbe Folge von Zufallszahlen liefern.
Wenn du Tatsächlich bei jedem Programmstart neue Zufallszahlen haben willst (nicht immer will man das eigentlich, sehr oft wäre es besser, wenn das Programm sich immer gleich verhält, also immer "dem gleichen Zufall unterliegt"), genügt es, srand() einmal bei Programmstart mit einem Wert, der in der Regel bei jedem Programmstart anders ist (beispielsweise die momentane Systemzeit), aufzurufen. srand() mit anderem Wert führt zu anderer Folge von Zufallszahlen. Wenn du dagegen immer abwechselnd erst srand() mit dem gleichen Wert gefolgt von rand() aufrufst, wird dir jeder Aufruf von rand() immer die erste Zahl der selben Zufallszahlensequenz liefern...
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (04.03.2014, 17:13)