hi,
wie kann man mehrere variablen mit der random anweisung definieren, sodass jede variable eine andere Zahl hat. (eine Zahl von 1-12)
einer (zwei) von vielen möglichen Wegen
Hallo!
Ich hatte einmal ein ähnliches „Problem“. Der erste (und einfachste) Weg ist, nachdem eine Variable gefunden wurde, diese mit den bereits gefundenen Variablen zu vergleichen, sollte sie schon existieren, einen Rücksprung zu machen und sollte sie noch nicht existieren, einen vorwärts-Sprung zu machen.
Diese Methode hat aber den Nachteil, daß sie erstens lange dauert und zweitens theoretisch niemals aufhören könnte (der Zufallsgenerator könnte immer Variablen finden, die schon existieren, allerdings nur theoretisch).
Mein Programm sollte 20 Karten mischen. Also habe ich mir gedacht, wie würde ich es im RL machen.
Ich habe zwei Stapel, von denen der erste(A) leer ist und der zweite(B) die zwanzig Karten (sortiert oder unsortiert) beinhaltet. Der Zufallsgenerator findet jetzt eine Zahl (z.B. 5), also nehme ich die fünfte Karte aus Stapel B und lege sie als erste Karte auf den Stapel A. Stapel A hat jetzt 1 Karte und Stapel B 19. Als nächsten Schritt muß ich jetzt berücksichtigen, daß die fünfte Karte auf Stapel B jetzt die ursprüngliche Karte 6 ist, also muß ich alle Karten auf Stapel B „nachrücken“ lassen und berücksichtigen, daß ich ab nun nur noch eine Zufallszahl aus 19 brauche und so weiter.
Ich weiß nichts über Deine Programmiererfahrung, wenn Du mehr dazu wissen willst, schreibe ich Dir ein Beispielprogramm. Aber diese Methode garantiert, daß Du nur 19 (in Deinem Fall 11) Durchläufe brauchst, während die erste Methode theoretisch unendlich Durchläufe brauchen kann.
Grüße
Gollum