Дан массив, содержащий 70 положительных целых чисел. Необходимо найти сумму чисел не меньших 49 и кратных 7. Далее алгоритм должен заменить такие значения на найденную сумму и вывести измененный массив на экран (по одному элементу в строке).
Напишите на одном из языков программирования программу для решения этой задачи.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.
| Бейсик | Python |
|---|---|
CONST N=70 DIM A(N) AS INTEGER DIM I, J, X AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I … END
| # кроме уже указанных # допускается использование # целочисленных переменных # j, x a = [] n = 70 for i in range(0, n): a.append(int(input())) …
|
| Паскаль | Алгоритмический язык |
const N=70; var a: array [1..N] of integer; i, j, x: integer; begin for i:=1 to N do readln(a[i]); … end.
| алг нач цел N=70 целтаб a[1:N] цел i, j, x нц для i от 1 до N ввод a[i] кц … кон |
| С++ | |
#include <iostream> using namespace std; const int N=70; int main(){ int a[N]; int i, j, x; for (i=0; i<N; ++i) cin >> a[i]; … return 0; }
| |
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.
Задача решается в два прохода: на первом проходе определяются элементы, не меньшие 49, и их сумма, на втором производится корректировка и вывод элементов.
Возможно решение в три прохода, когда на втором проходе выполняется только замена значений, а на третьем — вывод.
Пример правильной программы на языке Паскаль:
| Паскаль |
|---|
x := 0; for i := 1 to N do if (a[i] >= 49) and (a[i] mod 7 = 0) then x := x + a[i]; for i := 1 to N do begin if (a[i] >= 49) and (a[i] mod 7 = 0) then a[i] := x; writeln(a[i]); end; |
Пример правильной программы на языке Python:
| Python |
|---|
x = 0 for i in range(n): if a[i] >= 49 and a[i] % 7 == 0: x = x + a[i] for i in range(n): if a[i] >= 49 and a[i] % 7 == 0: a[i] = x print(a[i]) |

