Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество
элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденному количеству.
Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из шести элементов:
141
256
92
148
511
4
программа должна вывести следующий массив:
2
256
92
148
2
4
Исходные данные объявлены так, как показано ниже на примерах для пяти языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).
Решение:
На языке Паскаль
|
k := 0; for i := 1 to N do if (a[i] > 100) and (a[i] mod 4 <> 0) then k := k + 1; for i := 1 to N do begin if (a[i] > 100) and (a[i] mod 4 <> 0) then a[i] := k; writeln(a[i]); end; |
На Алгоритмическом языке
|
k := 0 нц для i от 1 до N если a[i] > 100 и mod(a[i], 4) <> 0 то k := k + 1 все кц нц для i от 1 до N если a[i] > 100 и mod(a[i], 4) <> 0 то a[i] := k все вывод a[i], нс кц |
На языке С++
|
k = 0; for (i = 0; i < N; i++) if (a[i] > 100 && a[i] % 4 != 0) k++; for (i = 0; i < N; i++) { if (a[i] > 100 && a[i] % 4 != 0) a[i] = k; cout << a[i] << endl; } |
На языке Python
|
k = 0 for i in range(0, n): if (a[i] > 100 and a[i] % 4 != 0): k = k + 1 for i in range(0, n): if (a[i] > 100 and a[i] % 4 != 0): a[i] = k print(a[i]) |