jackie05 - Do 17.09.09 20:12
Titel: Fragen zu Zähler?
Hallo,
ich habe ein Programm geschrieben, mit dem man bei bestimmte größe von Feldern, die gesamte Zahlenkombinationen berechnen kann.
z.B. wie bei einem Lotto schein 6 aus 49, beispielsweise möchte ich das ganze erstmal 3 aus 25 machen, also, ich möchte die gesamte Zahlenkombinationen die möglich sind, in Memo1 eintragen.
Hier mal ein beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34:
| 1 2 3 1 2 4 1 2 5 1 2 6 1 2 7 1 2 8 1 2 9 1 2 10 1 2 11 1 2 12 1 2 13 1 2 14 1 2 15 1 2 16 1 2 17 1 2 18 1 2 19 1 2 20 1 2 21 1 2 22 1 2 23 1 2 24 1 2 25 1 3 4 1 3 5 1 3 6 1 3 7 1 3 8 ..... ..... ..... ..... ..... 23 24 25 |
Jede Zahl wird in einem Array gespeichert:
Delphi-Quelltext
1: 2: 3: 4:
| for i:=0 to SpinEdit3.Value-1 do begin Zahlen[i].Zahl := i+1; end; |
und so habe ich es versucht die Zahlenkombinationen in Memo1 einzutragen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| for i:=0 to SpinEdit3.Value-1 do begin if (Zahlen[High(Zahlen)-i].Zahl > (SpinEdit1.Value*SpinEdit2.Value)) then begin Zahlen[High(Zahlen)-i].Zahl := Zahlen[High(Zahlen)-i-1].Zahl + 2; Zahlen[High(Zahlen)-i-1].Zahl := Zahlen[High(Zahlen)-i-1].Zahl + 1; end; Z := Z + IntToStr(Zahlen[i].Zahl)+' '; Label5.Caption := 'Anzahl: '+IntToStr(Memo1.Lines.Count+1); end; Memo1.Lines.Add(Z); Zahlen[High(Zahlen)].Zahl := Zahlen[High(Zahlen)].Zahl + 1; |
Das klappt nicht so ganz.
Gibt es vielleicht einen besseren Weg?
Danke schonmal.
Edit: Bei 2 Zahlen also 2 aus 25 funktioniert es, aber wenn es mehr wie 2 Zahlen sind, dann funktioniert das nicht korrekt.
Ich habe mal 2 Bilder im anhang hochgeladen.
Das erste ist korrekt und das 2te ist nicht korrekt.
MfG