Задан одномерный массив X(N). Вычислить сумму отрицательных элементов этого массива. Записать ее модуль на место элемента, стоящего после максимального среди кратных трём. Если такого элемента нет, то выдать сообщение (максимум...
Задан одномерный массив 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
Не нашли ответ?
Похожие вопросы