Задан одномерный массив x(n). вычислить сумму отрицательных элементов этого массива. записать ее модуль на место элемента, стоящего после максимального среди кратных трём. если такого элемента нет, то выдать сообщение (максимум на последнем месте, или в массиве нет кратных трём элементов). результат вывести на экран.
begin
var n:=ReadInteger('n=');
var a:=ArrRandom(n,-50,50);
Writeln('Исходный массив'); a.Println;
var se:=a.Where(x->x mod 3=0);
if se.Count=0 then
Writeln('В массиве нет элементов, кратных трем')
else begin
var b:=se.Max;
var i:=0;
while a[i]<>b do Inc(i);
if i=n-1 then Writeln('Максимальный элемент - последний')
else begin
Writeln('Результирующий массив');
a[i+1]:=abs(a.Where(x->x<0).Sum); a.Println
end
end
end.
Тестовое решение:
n= 15
Исходный массив
-24 -38 15 -33 -40 -18 21 34 20 49 -19 29 29 38 -41
Результирующий массив
-24 -38 15 -33 -40 -18 21 213 20 49 -19 29 29 38 -41