Решение: Обработка массива из 30 элементов
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, не меньших 1500 и при этом имеющих чётное значение, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Исходные данные и переменные объявлены в соответствии с одним из приведённых в условии вариантов программного кода. В ответе приведите фрагмент программы, который должен находиться на месте многоточия.
Решение по шагам
3 шагаСначала просматриваем все элементы массива и подсчитываем те, которые не меньше 1500 и являются чётными.
$$a[i] \ge 1500 \land a[i] \bmod 2 = 0$$После завершения подсчёта повторно просматриваем массив. Каждый подходящий элемент заменяем найденным количеством $k$.
Затем выводим все элементы изменённого массива. Например, решение на Python использует только разрешённые переменные $i$, $j$ и $k$.
Пример на Python:
k = 0
for i in range(0, n):
if a[i] >= 1500 and a[i] % 2 == 0:
k += 1
for i in range(0, n):
if a[i] >= 1500 and a[i] % 2 == 0:
a[i] = k
print(a[i])
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Заменяют элементы во время первого прохода, из-за чего последующие проверки могут быть выполнены неверно.
Проверяют только чётность или только достижение порога 1500.
Используют исходное значение элемента после его замены.
Выводят элементы не по одному в строке.