Дан целочисленный массив из 30 элементов. Элементы массива могут принимать положительные целые значения до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит сумму четных элементов массива, больших 150, а затем меняет все такие элементы массива на полученную сумму.
В качестве результата программа должна вывести измененный массив, по одному элементу в каждой строке.
| Бейсик | Python |
|---|---|
CONST N=30 DIM A(N) AS INTEGER DIM I, J, K AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I … END
| # допускается также #использование #целочисленных # переменных m, k a = [] N = 30 for i in range(0, N): a.append(int(input())) …
|
| Паскаль | Алгоритмический язык |
const N=30; var a: array [1..N] of integer; i, j, k: integer; begin for i:=1 to N do readln(a[i]); … end.
| алг нач цел N=30 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц … кон |
| Си++ | |
#include <iostream> using namespace std; const int N = 30; int main(){ int a[N]; int i, j, k; for (i=0; i < N; i++) cin >> a[i]; … return 0; }
| |
| Паскаль |
|---|
k := 0; for i := 1 to N do if (a[i] > 150) and (a[i] mod 2 = 0) then k:=k+a[i]; for i := 1 to N do begin if (a[i] > 150) and (a[i] mod 2 = 0) then a[i] := k; end; writeln(k); |
| Алгоритмический язык |
k := 0 нц для i от 1 до N если a[i] > 150 и mod(a[i], 2) = 0 то k := k + a[i] все кц нц для i от 1 до N если a[i] > 150 и mod(a[i], 2) = 0 то a[i] := k все кц вывод k, нс |
| Бейсик |
K = 0 FOR I = 1 TO N IF A(I) > 150 AND A(I) MOD 2 = 0 THEN K = K + A(I) END IF NEXT I FOR I = 1 TO N IF A(I) > 150 AND A(I) MOD 2 = 0 THEN A(I) = K END IF NEXT I PRINT K |
| Python |
k = 0 for i in range(0, n): if (a[i] > 150 and a[i] % 2 == 0): k+=a[i] for i in range(0, n): if (a[i] > 150 and a[i] % 2 == 0): a[i] = k print(k) |
| Си |
k = 0; for (i = 0; i < N; i++) if (a[i] > 150 && a[i]%2 == 0) k+=a[i]; for (i = 0; i < N; i++) { if (a[i] > 150 && a[i]%2 == 0) a[i] = k; } cout << k; |

