Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: Zufallszahl [1..9] jede Ziffer min/max einmal

  Alt 1. Mai 2008, 15:05
Delphi-Quellcode:
procedure Shuffle(var a: array of Byte);
// Zahlen mischen
var
  i, j, temp: Integer;
begin
  for i := 1 to High(a) do
  begin
    j := Pred(i + Random(Length(a) - i));
    temp := a[Pred(i)];
    a[Pred(i)] := a[j];
    a[j] := temp;
  end;
end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  a: array of Byte;
  i: Byte;
  s: string;
begin
  // Länge festsetzen
  setLength(a, 9);

  // Werte 1..9 zuweisen
  for i := 0 to 8 do
   a[i] := i + 1;

  // Random Nummer Generator initialisieren
  Randomize;

  // Mischeln
  Shuffle(a);

  // Zahlen zusammensetzen
  s := '';
  for i := 0 to 8 do
   s := s + Inttostr(a[i]);

  // Zahlen ausgeben
  Caption := s;
end;
Thomas
  Mit Zitat antworten Zitat