РУҚА
25

Решение: Замена чётных элементов массива

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

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

Например, для исходного массива из шести элементов: 8, 3, 4, 5, 13, 10 программа должна вывести следующий массив: 10, 3, 10, 5, 13, 10.

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

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

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

4 шага
1

Для хранения максимального чётного элемента используем переменную j. Начальное значение −10001 меньше любого возможного элемента массива.

$$j = -10001$$
2

Первым циклом просматриваем массив и обновляем максимум только для чётных элементов.

$$a[i] \bmod 2 = 0 \land a[i] > j \Rightarrow j = a[i]$$
3

Вторым циклом заменяем каждый чётный элемент найденным максимумом.

$$a[i] \bmod 2 = 0 \Rightarrow a[i] = j$$

После замены выводим все элементы массива по одному в строке.

Ответ

Python:

j = -10001
for i in range(n):
if a[i] % 2 == 0 and a[i] > j:
j = a[i]
for i in range(n):
if a[i] % 2 == 0:
a[i] = j
for i in range(n):
print(a[i])

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

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

Поиск максимума среди всех элементов, а не только среди чётных.

Замена только одного максимального элемента вместо всех чётных элементов.

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

Вывод элементов массива не по одному в строке.

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

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

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

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