Hallo,
Delphi-Quellcode:
Procedure Zahlen_ermitteln(var Lottozahlen: TLottozahlen);
var
i,j: Integer;
zahl: TLottozahl;
ok: boolean;
begin
for i := 1 to 6 do
begin
ok := true;
repeat
zahl := random(49)+1;
// for j := 1 to i do // Element i ist noch nicht initialisiert!
for j := 1 to i - 1 do
ok := ok and (lottozahlen[j] <> zahl);
until ok;
Lottozahlen[i] := zahl;
end;
end;
bei einer Lottoziehung spielt das Glück zwar eine große Rolle, aber nicht initialisierte Feldelemente sollte man immer außen vor lassen.
Einen anderen Ansatz für eine Lottoziehung (mit Erklärung) findet man
hier.
//Edit
Noch eine Frage: wenn die Variable "ok" einmal den Wert False hatte, kann sie dann jemals wieder den Wert True erhalten?
Gruß Hawkeye