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

Ks1mak Ks1mak    3   15.07.2019 14:50    1

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