Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
2. Mär 2008
Deshalb habe ich Random() verwendet und nicht RandomFrom(). Ich will ja den Index und nicht den Wert.
Das ist korrekt.
Du musst ganz klar unterscheiden zwischen der Position und dem Wert der Zufallszahl. RandomFrom() liefert dir einen Wert und kurz darauf verwendest du den Wert als Basis für einen Index. Das muss früher oder später schief gehen.
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
2. Mär 2008
Moin,
du möchtest nach der Ziehung einer Zufallszahl die nachfolgenden Zahlen im Vektor werte aufrücken lassen. Die Zuweisungen innerhalb deiner WHILE-Schleife sind in Ordnung, aber die Bedingung im Schleifenkopf stimmt nicht, da musst du noch dran feilen: Zuerst solltest du dir die Position der aktuellen Zufallszahl merken, dann alle nachfolgenden Werte um eins nach vorne verschieben. Wenn du...
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
1. Mär 2008
Herzlich willkommen in der Delphi-PRAXiS, Walgo.
Sobald du eine Zahl aus dem Array mit n Zahlen "gezogen" hast, setzt du die letzte Zahl aus dem Array an diese Stelle und merkst dir, dass du nur noch auf die ersten n-1 Zahlen zugreifen darfst. Entfernen ist nicht nötig, wenn du Random(n-i) als Index für die nächste Zahl, i für die Anzahl der bereits gezogenen Zahlen und n für die Anzahl der...