// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
var x1:=a.Where(x->x>0).Min;
var i1:=a.FindIndex(x->x=x1);
var x2:=a.Where(x->x<0).Max;<br> var i2:=a.FindIndex(x->x=x2);
Swap(a[i1],a[i2]); a.Println
end.
Пример
n= 16
-9 -8 1 -9 2 5 -6 7 5 -9 0 2 -6 -7 3 6
-9 -8 -6 -9 2 5 1 7 5 -9 0 2 -6 -7 3 6