
27.11.2007, 00:04
|
|
Участник форума
Регистрация: 17.05.2007
Сообщений: 220
Провел на форуме: 3013539
Репутация:
441
|
|
Тут было у меня заданьице в универе: на основе рекурсивной функции вывести все перестановки произвольных чисел, выкладываю, ибо алгоритм довольно интересный и не сразу допрёшь(на паскале):
Код:
program perestanovki(input, output);
const n=5;
type arr=array[1..n] of integer;
var x:arr; i:integer;
procedure trans(x:arr; k:integer);
var i,temp:integer;
begin
if k=n then begin for i:=1 to n do write(x[i],' '); writeln; end
else
begin
for i:=k to n do
begin
temp:=x[k];
x[k]:=x[i];
x[i]:=temp;
trans(x,k+1);
end;
end;
end;
begin
for i:=1 to n do read(x[i]);
trans(x,1);
readln;
readln
end.
|
|
|