Thema: Delphi Zahlen "verteilen"

Einzelnen Beitrag anzeigen

Benutzerbild von Lantis
Lantis

Registriert seit: 13. Mär 2003
16 Beiträge
 
Delphi 6 Personal
 
#29

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 20:13
Hi Spirius,

Deine anfängliches Problem war ja, wie verteile ich 100 zahlen in 4 gleichgroße Portionen.
Hat mich irgendwie angespornt. Um keine doppelten Zahlen zu erhalten, ist mir da auch eine Lösung
eingefallen. Werde mal mein Gedankengut verschütten, auch wenn Du ja selbst schon eine Lösung hast.
Ist 'ne visuelle Darstellung mit 4 Memos (memo1 bis memo4) und ein Button
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i,z,n:integer;
  sl:TStringList;
begin
  z:=0;
  randomize; //besser nur 1mal im Form.Create
  sl:=TStringList.Create;
  sl.Sorted:=True; //nötig, damit nächste Zeile funktioniert
  sl.Duplicates:=dupIgnore; //keine doppelten Zahlen
  for i:=1 to 4 do
   TMemo(FindComponent('memo' + IntToStr(i))).Clear;
  try
  while sl.Count<100 do //solange, bis alle 100 Zahlen mal dran waren
    for i:=1 to 4 do
    begin
      n:=sl.Count; //aktuelle Zahlenmenge merken
      while sl.Count=n do //solange probieren bis neue Zahl ermittelt wurde
      begin
        z:=round(random(100)+1);
        sl.Add(intToStr(z));
      end;
      TMemo(FindComponent('memo' + IntToStr(i))).Lines.Add(intToStr(z));
    end;
  finally
    sl.Free;
  end;
end;
Gruß Lantis
  Mit Zitat antworten Zitat