// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
procedure Permutation(x:array of integer);
begin
var imin:=0;
for var i:=1 to x.Length-1 do
if x[i] var im:=(x.Length div 2);
Swap(x[imin],x[im])
end;
begin
var a:=ArrRandom(ReadInteger('n='),10,99); a.Println;
Permutation(a); a.Println;
end.
Тестовое решение:
n= 7
90 89 97 63 95 21 56
90 89 97 21 95 63 56