Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 100000 включительно. Опишите на одном из языков программирования алгоритм, который находит минимум среди элементов массива, не делящихся нацело на 15, а затем заменяет каждый элемент, не делящийся нацело на 15, на число, равное найденному минимуму. Гарантируется, что хотя бы один такой элемент в массиве есть.

Описание входных и выходных данных

В 30 строках записано одно натуральное число, не превосходящее 100000.
В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

Требуется написать эффективную по времени и памяти программу. Перед текстом программы обязательно опишите алгоритм решения. Укажите использованный язык программирования и его версию.


lenyashastin: Здравствуй! А массив вводить с клавиатуры или же рандомайзером?
veterok699: с клавиатуры
pumas1k: рял с клавиатуры надо было?

Ответы

Ответ дал: Listvichka177
5

program massiv;

var A: array [1..30] of longint;

var i,min: longint;

begin

for i:=1 to 30 do

begin

write('A[',i,']=');

readln(A[i]);

end;

writeln('исходный массив');

for i:=1 to 30 do

write(A[i],' ');

writeln;

min:=A[1];

for i:=1 to 30 do

if (A[i] mod 15<>0) and (A[i]<min) then

min:=A[i];

for i:=1 to 30 do

if A[i]mod 15<>0 then

A[i]:=min;

writeln('новый массив');

for i:=1 to 30 do

writeln(A[i],' ');

end.

Похожие вопросы