Autor Beitrag
Goolix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 83



BeitragVerfasst: Mi 10.11.04 18:23 
also... meine prozedur soll 4 zahlen erzeugen (zwischen 1 und 6).
soweit kein thema...

allerdings darf jede der 4 zahlen nur einmal vorkommen

also:

1 5 6 2

wäre ok, aber

1 2 2 6

darf es nicht sein.

Dieses Problem habe ich bisher mit der Holzhammermethode gelöst.... einfach so lange ausgeführt, bis es den bedingungen entsrpchen hatte...
könnte mir wohl jemand einen eleganteren lösungsweg geben?

gruß
weltherrscher
.Chef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: Mi 10.11.04 18:26 
Eine beliebte Methode ist, alle möglichen Ergebnisse in eine Liste zu schreiben. Dann wählst du zufällig eins aus und löschst es aus der Liste. Es ist somit nicht mehr in der nächsten Auswahlrunde dabei. Ob du dafür wirklich eine Liste nimmst oder nur das Prinzip mit den Inidzes in einem Array verfolgst, bleibt dir überlassen.
Goolix hat folgendes geschrieben:
gruß
weltherrscher

Gruß,
Dein Meister

_________________
Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!


Zuletzt bearbeitet von .Chef am Mi 10.11.04 18:31, insgesamt 1-mal bearbeitet
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Mi 10.11.04 18:28 
Du könntest ein Integer-Array der Länge 6 erstellen mit den Zahlen 1-6 darin.
Nun suchst erstellst Du eine Zufallszahl zwischen 0 und 5 und speicherst die Zahl an der entsprechende Stelle im Array irgendwo ab (z.B. anderes Array) und lässt die restlichen Zahlen nachrücken.
Nun erstellst Du eine Zufallszahl zwischen 0 und 4, speicherst wieder die im entsprechenden Array-Feld enthaltene Zahl irgendwo ab und lässt wieder nachrücken
usw.

raziel

_________________
JSXGraph
Goolix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 83



BeitragVerfasst: Mi 10.11.04 18:33 
jo danke... *licht aufgeh*



btw:
sollte nicht überheblich wirken... mit dem weltherrscher.... das ist seit ewigkeiten ein nickname in ogames von mir ;-)
catweasel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 487
Erhaltene Danke: 1

Win 7 64bit
Delphi 7 Second Sedition V7.2
BeitragVerfasst: Fr 12.11.04 12:30 
Hatten wir schonmal im Zusammenhang mit Memory Spielkartenmischen....

www.delphi-forum.de/...light=zufallselement

Mach das Array mit 6 Zahlen (1-6) und nimm nur die ersten vier davon..

Catweasel

_________________
Pommes werden schneller fertig wenn man sie vor dem Frittieren einige Minuten in siedendes Fett legt.