Задан одномерный массив X(N).
Вычислить сумму отрицательных элементов этого массива. Записать ее модуль на место элемента, стоящего после максимального среди кратных трём. Если такого элемента нет, то выдать сообщение (максимум на последнем месте, или в массиве нет кратных трём элементов). Результат вывести на экран.

// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
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

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку