Обработка массива из 30 элементов
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из шести элементов:
141
256
92
148
511
4
программа должна вывести следующий массив:
2
256
92
148
2
4
Исходные данные объявлены заранее: массив содержит 30 элементов, а также доступны переменные для индексов и счётчика. Запрещается использовать переменные, не описанные в условии, но разрешается не использовать некоторые из описанных переменных. В качестве ответа необходимо привести фрагмент программы, который должен находиться на месте многоточия. Допускается записать решение на другом языке программирования, указав его название и версию; при этом необходимо использовать те же исходные данные и переменные, которые предложены в условии.
Условие как в банке ФИПИ — открыть и сверить
| Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Например, для исходного массива из шести элементов: 141 256 92 148 511 4 программа должна вывести следующий массив: 2 256 92 148 2 4
Исходные данные объявлены так, как показано ниже на примерах для пяти языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).
| ||||||||||||
| | ||||||||||||
Это задание с развёрнутым решением: ответом считается запись хода решения, а не строка. Напишите решение на бумаге и сравните с разбором — там каждый шаг с обоснованием.
Открыть разбор1Мягкая — с чего смотретьуровень 1 из 3
Какие два условия должен одновременно выполнять элемент, чтобы попасть в искомое количество?
2Наводящая — какие числа считатьуровень 2 из 3
Для проверки некратности 4 используйте остаток от деления: элемент не кратен 4, если $a[i] \bmod 4 \ne 0$.
3Прямая — фактически решениеуровень 3 из 3
Выполните два прохода по массиву: в первом увеличивайте счётчик $j$ для подходящих элементов, во втором заменяйте такие элементы на $j$ и выводите все элементы.