rand() Funktion - Werte wiederholen sich

server

Erfahrenes Mitglied
Hi,

Ich habe ein Programm geschrieben, mit dem man sich auf eine Prüfung vorbereiten kann. In der Datenbank sind ca. 180 Fragen enthalten. Bei einer Prüfungssimulation werden dann von diesen 180 Fragen 70 Fragen mit rand() ausgewählt. Leider passiert es manchmal, dass manche Fragen zwei- oder dreimal ausgewählt werden.

Kann man dagegen etwas unternehmen? Es ist nämlich nicht Sinn der Sache, dass von 70 Fragen nur 65 verschieden dabei sind.

Oder lässt sich das Problem nur ändern, indem man einfach noch mehr Fragen zur Verfügung stellt?

mfg
server
 
Das haben Zufallszahlen nun mal so an sich. Sie sind halt zufällig. Du könntest auch 70 mal die gleiche Frage bekommen. Wenn du keine doppelte Fragen haben willst, dann musst du halt irgendwie speichern, welche Frage schon gestellt wurde, und die dann aus deinem Fragen-Pool entfernen.
 
Hi!

Du könntest die Zufallswerte die schon dran kamen in einem Array speichern und jeden neuen Zufallswert mit den einzelnen Werten des Arrays vergleichen und somit durch eine Verzweigung dann neue Zufallswerte generieren lassen (wenn der Wert schon in dem Array vorkam) bis du tatsächlich 70 verschiedene hast.

Realisierung sollte ja eigentlich kein Problem sein...

mfg masle
 
Zurück