Дан массив интервала [-10; 10].поменяйте местами минимальный положительный элемент и максимальный отрицательный. в программе паскаль

nanamaz nanamaz    2   28.08.2019 17:10    0

Ответы
Krauler1 Krauler1  14.08.2020 21:59
// 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.

Пример
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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика