Wir haben damit jetzt gerade in der Schule begonnen,
vielleicht hilft dir das:
Delphi-Quellcode:
const n = 5;
var
Form1: TForm1;
zahl_gesetzt : array[1..n] of Boolean;
zahlen : array[1..n] of Integer;
count : integer;
implementation
{$R *.dfm}
procedure init;
var i : integer;
Begin
for i := 1 to n do
zahl_gesetzt[i] := false;
count := 0;
end;
procedure Ausgabe(zahl : integer);
Begin
Form1.StringGrid1.Cells[0, count] := IntToStr(zahl);
inc(count);
Form1.Stringgrid1.RowCount := count;
Form1.StringGrid1.Update;
Form1.StringGrid1.Refresh;
end;
procedure permut(i : integer);
var j, k ,zahl : integer;
Begin
for j := 1 to n do
if not zahl_gesetzt[j]
then Begin
zahlen[i] := j;
zahl_gesetzt[j] := true;
if i < n
then permut(i+1)
else Begin
zahl := 0;
for k := n downto 1 do
zahl := zahl + (zahlen[k] * round(power(10, n-k)));
Ausgabe(zahl);
end;
zahl_gesetzt[j] := false;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Init;
permut(1);
end;
Hoffe es hilft!