Ich habe ein einfaches Programm, das sicherstellt, dass ein anderes Programm 10 Mal hintereinander ausgeführt wird, indem ich den folgenden Code verwende:
for (i = 0; i < 10; i++)
{
system ("shor.exe 15");
}
Das Programm shor.exe
läuft tatsächlich 10 mal; Das Problem ist, dass das Programm in dem Sinne probabilistisch ist, dass es in einem der ersten Schritte einen Zufallszahlengenerator verwendet und in der Variablen "random" speichert, aber jeder der 10 Durchläufe hat den gleichen Wert für die Variable random, also denke ich dass es nicht alle Variablen zurücksetzt und nur bei jedem Lauf den gleichen generierten Wert verwendet.
Meine Frage ist jetzt, wie ich alle Variablen zwischen jedem Lauf zurücksetze/lösche?
Ihr Programm vergisst säen die randomizer. Und wenn dies der Fall ist, und es verwendet time(NULL)
den Randomizer, dann werden sie alle mit dem gleichen Seed gesät, weil sie alle im selben Moment gestartet werden: Ihre for-Schleife wartet nicht auf das Ende jedes Programms und Randomizer sind oft deterministisch , was bedeutet, dass derselbe Startwert dieselbe Folge von Zufallszahlen impliziert.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen