Уважаемы гуру программинга. Подскажите начинающему программисту.. где ошибка в коде.. моей программы..
Задача стояла вот такая: распечатать все 4-х значные числа, состоящие из цифр {1,2,3,4}, при условии, что цифры в числах не повторяются.
Исходя из теории дискретной математики.. это перестановки.
Итак, вот, что я набросал:
читать дальшеprogram perestanovka;
procedure perest (n:integer);
var
i:integer;
P:array [1..100] of integer;
begin
for i:=1 to n do
P[i]:=i;
end;
procedure reverse (m:integer);
var
j:integer;
P:array [1..100] of integer;
begin
j:=1;
while j<m do P[j]:=P[m];
j:=j+1;
m:=m-1;
end;
var
i,k:integer;
P:array [1..100] of integer;
begin
readln(k);
if k=1 then writeln(k)
else
for i:=1 to k do perest(k-1);
if i<k then reverse(k-1);
writeln(k);
end.За помощь зарание благодарен.