// 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; var i2:=a.FindIndex(x->x=x2); Swap(a[i1],a[i2]); a.Println end.
// Внимание! Если программа не работает, обновите версию!
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;
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