РУҚА
25

Решение: Замена элементов массива

ЕГЭ · Информатика · Задание 25 · Массивы и строки
ПовышеннаяФИПИ1B61EAРазвёрнутое решение≈ 5 минутРазбор в 4 шага
Условие

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

Исходные данные уже введены в массив a. В решении разрешается использовать только переменные, объявленные в условии. Приведите фрагмент программы, который должен находиться на месте многоточия. Можно использовать Python, Бейсик, алгоритмический язык, Паскаль или C++.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

Выберем первый элемент массива, не делящийся нацело на 5, в качестве начального значения минимума.

$$a[i] \mathbin{\%} 5 \ne 0$$
2

Просмотрим массив и обновим минимум, если найдём меньший элемент, не делящийся на 5.

$$j = \min\{a[i]\mid a[i] \mathbin{\%} 5 \ne 0\}$$
3

Повторно просмотрим массив. Каждый элемент, не делящийся на 5, заменим найденным минимумом, после чего выведем элемент.

$$a[i] \leftarrow j \text{ при } a[i] \mathbin{\%} 5 \ne 0$$

Один из возможных фрагментов решения на Python:

Ответ

Python:
for i in range(n):
if a[i] % 5 != 0:
j = a[i]
break
for i in range(n):
if a[i] % 5 != 0 and a[i] < j:
j = a[i]
for i in range(n):
if a[i] % 5 != 0:
a[i] = j
print(a[i])

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Поиск минимума среди всех элементов, включая элементы, делящиеся на 5.

Замена только первого найденного элемента вместо всех подходящих элементов.

Вывод массива до выполнения замен.

Использование переменной, которая не была объявлена в условии.

Закрепить приёмВ теме «Массивы и строки» ещё 237 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 25 ЕГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Массивы и строки»: в ней 238 задач, и у каждой есть такой же разбор. Регистрация не нужна.