Autor Beitrag
phalanx
Hält's aus hier
Beiträge: 2

Win XP
D7
BeitragVerfasst: Sa 17.12.05 17:36 
also... ich wollte da so ein programm schreiben bis ich an einer stelle gescheitert bin:
das programm soll an dieser stelle... sagen wir aus 20 verschiedenen Zahlen (1 bis 20), sich zufällig 2 zahlen aussuchen und sie mir anzeigen... danach soll mir das programm dann wieder 2 zufällige zahlen ausgeben, usw... eigentlich kein problem... das programm soll aber keine zahlen doppelt ausgeben... das heißt beim zweiten mal ausgeben hat das programm nur noch 18 zahlen zur vefügung, dann 16, dann 14 usw.
ich hab keine ahnung wie ich das machen soll... kann mir vielleicht jemand helfen...

und ich bedank mich jetzt schon mal...
Matzegrufti
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Sa 17.12.05 17:47 
nunja, du kannst alle zahlen die bereits ausgewählt wurden in ein array schreiben, und wenn die neue zufallsgenerierte zahl in dem arry vorkommt lässt du ihn einfach ne neue generieren!
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Sa 17.12.05 19:01 
Oder Du programmierst genau das, was Du willst:
Du hast einen 'Topf' von 20 Zahlen, wählst eine davon zufällig raus. Dann nimmst du die Zahl einfach aus dem Topf.
Der 'Topf' kann z.B. eine TStringList sein, bei der man mit 'Delete' genau ein Element 'herausnehmen' kann.

_________________
Na denn, dann. Bis dann, denn.
unforgiven
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

Win XP
Delphi 2005 Prof.
BeitragVerfasst: So 18.12.05 18:28 
mit mengen zu arbeiten wäre aber viel einfacher und logischer...

ausblenden Delphi-Quelltext
1:
2:
type x=Set of 1..20;
var a:x;


jetzt hast du a definiert und a kann nur 1-20 sein

um etwas aus der menge zu tun schreibst du das so:
ausblenden Delphi-Quelltext
1:
2:
y:=5;
a:=[a]-[y];

a ergibt sich aus der Menge von a - der Menge y...

_________________
Ein Programm ist nur so gut, wie der Programmierer.
hibbert
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: So 18.12.05 18:42 
wenn die Zahlen alle größer als 0 sind, dann würde ich für jede Zahl, die bereits genommen würde eine -1 eintragen. Das ganze dann in eine Schleife packen, fertig. Kann bei den letzten 2 oder 4 Zahlen lange dauern.

Wenn nicht einfach mal was mit dynamischen Arrays rumprobieren...

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej