Ответ: Замена элементов массива
Пример корректного решения на Python:
j = -10001
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
for i in range(n):
print(a[i])
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от −10 000 до 10 000 включительно. Гарантируется, что хотя бы один элемент массива делится нацело на 5. Опишите алгоритм, который находит максимум среди элементов массива, делящихся нацело на 5, а затем заменяет каждый элемент, делящийся нацело на 5, на найденный максимум. В качестве результата необходимо вывести изменённый массив, каждый элемент — с новой строки.
Например, для исходного массива из шести элементов 5, 7, 10, 25, 39, 15 программа должна вывести 25, 7, 25, 25, 39, 25.
В программе используются массив a из 30 элементов и целочисленные переменные i, j, k. Для Python исходные данные считываются следующим образом:
a = []
n = 30
for i in range(0, n):
a.append(int(input()))
Приведите фрагмент программы, который должен находиться на месте многоточия после ввода исходных данных. Можно использовать Python или другой язык программирования, указав его название и версию. Используйте только предложенные исходные данные и переменные.
Запишите фрагмент программы, реализующий поиск максимума, замену подходящих элементов и вывод изменённого массива.
Где здесь ошибаются
Искать максимум среди всех элементов, а не только среди кратных 5.
Заменять элементы до завершения поиска максимума.
Забыть вывести элементы, не кратные 5, без изменений.
Использовать дополнительную переменную, не объявленную в условии.