Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#13

Re: Doppelte Zahlen beim Lotto Generator

  Alt 31. Mär 2006, 17:16
nein, der Code sollte nicht ordnungsgemäß funtionieren:
isdouble:=False; muß for die Schleife, denn so wird nur die letzte Zahl geprüft.
for J:=1 to 6 do du prüfst auf Zahlen, die es noch nicht gibt (funktioniert zwar, ist aber nicht schön).
Und wozu 2 Schleifen?
Delphi-Quellcode:
procedure GenerateLottoNumbers;
var isdouble: Boolean;
  I, J: Integer;
  zahl: array[1..6] of Integer;

begin;
  randomize;
  for I:=1 to 6 do
  begin
    repeat
      zahl[I]:=Random(49)+1;
      isdouble:=False;
      for J:=1 to I - 1 do
        isdouble:=isdouble or (zahl[I]=zahl[J]);
    until not isdouble;
    TLabel(FindComponent('Label'+IntToStr(I))).Caption:=ItToStr(zahl[I]);
  end;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat