В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов.
В цикле проверяем каждый элемент массива на четность и положительность. Данные условия можно скомбинировать через логическое «И» в заголовке одного условного оператора или использовать два (один вложен в другой) отдельных каждый со своим условием.
Если элемент массива удовлетворяет обоим условиям, то его значение добавляется к переменной, в которой хранится сумма. После цикла ее значение выводится на экран.
Ноль является четным числом, однако он не относится к положительным. Поэтому проверка на положительность — это «больше 0», а не «больше или равно 0». Хотя это не столь важно, так как добавление нуля к сумме ничего не меняет.
Проверку на четность можно выполнить с помощью нахождения остатка от деления на 2. Если остаток равен нулю, то число четное. В ряде языков есть специальные функции, проверяющие четное число или нечетное.
Pascal
сумму четных элементов массива паскаль
const N = 10;
var
a: array[1..N] of integer;
i: byte;
sum: integer;
begin
randomize;
for i:=1 to N do a[i]:=random(10)-5;
for i:=1 to N do write(a[i]:4);
writeln;
sum := 0;
for i:=1 to N do begin
if (a[i]>0) and (odd(a[i])=false) then
sum := sum + a[i];
end;
writeln(sum);
end.
2 -5 2 -1 -4 -5 -5 3 3 -1
4
Язык Си
#include
#define N 10
main() {
int a[N];
int i, sum;
srand(time(NULL));
for (i=0; i< N; i++) {
a[i] = rand() % 10 - 5;
printf("%4d", a[i]);
}
printf("\n");
sum = 0;
for (i=0; i< N; i++)
if (a[i] >= 0 && a[i]%2==0)
sum += a[i];
printf("%d\n",sum);
}
-1 4 -5 4 -5 -1 0 1 -2 -5
8
Python
сумму четных элементов массива python (питон)
from random import random
N = 10
arr = [0] * N
for i in range(N):
arr[i] = int(random() * 10) - 5
print(arr)
s = 0
for i in range(N):
if arr[i] >= 0 and arr[i]%2 == 0:
s += arr[i]
print(s)
[2, 2, -2, -3, -3, 1, 4, 4, -5, 2]
14
КуМир
алг сумма чет полож
нач
цел N = 10
цел таб arr[1:N]
цел i,s
нц для i от 1 до N
arr[i] := irand(-5,5)
вывод arr[i]:3
кц
вывод нс
s := 0
нц для i от 1 до N
если arr[i] > 0 и mod(arr[i],2) = 0 то
s := s + arr[i]
все
кц
вывод s
кон
-1 -3 5 2 3 4 0 -4 3 -5
6
Basic-256
N = 10
dim arr(N)
for i=0 to N-1
arr[i] = int(rand*10) - 5
print arr[i] + " ";
next i
print
s = 0
for i=0 to N-1
if arr[i] > 0 and arr[i]%2 = 0 then
s = s + arr[i]
endif
next i
print s
-4 -5 0 -4 -3 -5 2 4 0 -1
6