Thema: Delphi Zufallszahl mit Ausnahme

Einzelnen Beitrag anzeigen

Stefan92

Registriert seit: 9. Jan 2007
146 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Zufallszahl mit Ausnahme

  Alt 4. Apr 2008, 21:35
Danke, werde ich auch mal ausprobieren.
Ursprünglich ging es darum, jedem Buchstaben im Alphabet einen anderen zuzuweisen, ohne dass dabei einer doppelt oder mehrfach vorkommt.

Ich poste mal meinen Code (leider noch unkommentiert):

Delphi-Quellcode:
function Alphabet_Neu: String;
var ErlaubteZeichen: array of char;
    i, j, zufall: Integer;
    zeichen, hilf: Char;
begin
  SetLength(ErlaubteZeichen, 26);
  for j := 0 to High(ErlaubteZeichen) do
    ErlaubteZeichen[j] := chr(ord('A') + j);

  for i := 1 to 26 do
  begin
    zufall := Low(ErlaubteZeichen) +
              Random(High(Erlaubtezeichen) - Low(ErlaubteZeichen) + 1);
    zeichen := ErlaubteZeichen[zufall];

    hilf := ErlaubteZeichen[zufall];
    ErlaubteZeichen[zufall] := ErlaubteZeichen[High(ErlaubteZeichen)];
    ErlaubteZeichen[High(ErlaubteZeichen)] := hilf;

    SetLength(ErlaubteZeichen, 26 - i);

    result := result + zeichen + ' ';
  end;
end;

procedure TfrmAlphabet.BtnNewAlphabetClick(Sender: TObject);
begin
  PnlNeu.Caption := Copy(Alphabet_Neu, 1, length(Alphabet_Neu) - 1);
end;
  Mit Zitat antworten Zitat