Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит сумму элементов массива, меньших 200 и при этом кратных 5, а затем заменяет каждый такой элемент на число, равное найденной сумме. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Например, для исходного массива из шести элементов:
204 115 27 20 305 4
программа должна вывести (по одному числу в строке) числа
204 135 27 135 305 4
Язык Паскаль
Answers & Comments
Program Begenjov1997;
const
n = 30; {Количество элементов массива}
m = 10000; {Максимально возможное значение элемента}
var
a:array[1..n] of integer;
i, sum: integer;
s:string;
begin
s:='**** -=Alphaeus=- ****';
for i:=1 to 22 do begin write(s[i]); sleep(60) end;
{заполняем массив случайными числами}
writeln; randomize;
for i:=1 to n do a[i]:=random(m+1);
{Ищем максимальный и минимальный элементы}
sum:=0;
for i:=1 to n do
if (a[i]<200) and (a[i] mod 5 = 0) then sum:=sum+a[i];
{Заменяем эти элементы найденной суммой}
for i:=1 to n do
if (a[i]<200) and (a[i] mod 5 = 0) then a[i]:=sum;
{Вывод}
writeln;
for i:=1 to n do writeln(a[i]);
end.