Ответ: Обработка элементов массива
Например, решение на Python:
s = 0
for i in range(n):
if a[i] > 100 and a[i] % 4 != 0:
s += a[i]
for i in range(n):
if a[i] > 100 and a[i] % 4 != 0:
a[i] = s
for i in range(n):
print(a[i])
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
Дан целочисленный массив из 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;
}
Приведите фрагмент программы, который должен находиться на месте многоточия. Можно использовать другой язык программирования, указав его название и версию, но необходимо использовать те же исходные данные и переменные.
Где здесь ошибаются
Заменяют элементы во время первого прохода и из-за этого теряют исходные значения, необходимые для вычисления суммы.
Используют условие $a_i \% 4 = 0$ вместо условия $a_i \% 4 \ne 0$.
Забывают строгое условие $a_i > 100$ и включают элемент, равный 100.
Выводят сумму вместо изменённого массива.
Используют переменную, которая не была объявлена в условии.