<em>// PascalABC.NET 3.3, сборка 1599 от 17.12.2017</em> <em>// Внимание! Если программа не работает, обновите версию!</em>
procedure Astento; begin var T:=Arr(-2,3,-1,4,-5,2,1,0,1,2,1,-3,5); var s:=T.OrderBy(p->Abs(p)); // последовательность памяти не занимает Writeln('Сумма двух наименьших по модулю: ',s.Take(2).Sum); Writeln('Сумма двух наибольших по модулю: ',s.TakeLast(2).Sum) end;
begin Astento end.
<u>Результат</u> Сумма двух наименьших по модулю: -1 Сумма двух наибольших по модулю: 0
<u>Замечание:</u> в данном случае "ранжированная" последовательность была такой: 0 -1 1 1 1 -2 2 2 3 -3 4 -5 5