Обработка элементов массива
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите алгоритм, который находит сумму элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденной сумме. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строки.
Исходные данные объявлены следующим образом. Разрешается использовать только указанные переменные.
Бейсик:
CONST N AS INTEGER = 30
DIM A (1 TO N) AS LONG
DIM I AS LONG, J AS LONG, K AS LONG
FOR I = 1 TO N
INPUT A(I)
NEXT I
...
END
Python:
a = []
n = 30
for i in range(0, n):
a.append(int(input()))
...
Алгоритмический язык:
алг
нач
цел N = 30
целтаб a [1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
Паскаль:
const N = 30;
var a: array [1..N] of longint;
i, j, k: longint;
begin
for i := 1 to N do
readln(a[i]);
...
end.
C++:
const int N = 30;
int main() {
long a[N];
long i, j, k;
for (i = 0; i < N; i++)
cin >> a[i];
...
return 0;
}
Приведите фрагмент программы, который должен находиться на месте многоточия. Можно использовать другой язык программирования, указав его название и версию, но необходимо использовать те же исходные данные и переменные.
Условие как в банке ФИПИ — открыть и сверить
| Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит сумму элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденной сумме. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Например, для исходного массива из алты элементов: 101 128 6 105 4 18 программа должна вывести следующий массив: 206 128 6 206 4 18 Исходные данные объявлены так, как показано ниже на примерах для пяти языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).
| ||||||||||||
| | ||||||||||||
Это задание с развёрнутым решением: ответом считается шешімнің барысын жазу, жол емес. Шешімді қағазға жазып, салыстырыңыз с разбором — там каждый шаг с обоснованием.
Талдауды ашу1Мягкая — с чего смотретьдеңгей 1 из 3
Сначала одним проходом найдите сумму всех элементов, для которых одновременно выполняются условия $a_i > 100$ и $a_i \bmod 4 \ne 0$.
2Жетекші — қандай сандарды есептеудеңгей 2 из 3
После вычисления суммы выполните второй проход по массиву. При выполнении тех же условий присвойте элементу значение найденной суммы.
3Тікелей — іс жүзінде шешімдеңгей 3 из 3
Для Python после ввода используйте: $s = \sum(x\ \text{for}\ x\ \text{in}\ a\ \text{if}\ x > 100\ \text{and}\ x\%4\ne0)$, затем замените подходящие элементы и выведите массив.