Сумма четных положительных элементов массива

Задача

В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов.

Пояснение к задаче и алгоритм решения

В цикле проверяем каждый элемент массива на четность и положительность. Данные условия можно скомбинировать через логическое "И" в заголовке одного условного оператора или использовать два (один вложен в другой) отдельных каждый со своим условием.

Если элемент массива удовлетворяет обоим условиям, то его значение добавляется к переменной, в которой хранится сумма. После цикла ее значение выводится на экран.

Ноль является четным числом, однако он не относится к положительным. Поэтому проверка на положительность - это "больше 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.

Пример(ы) выполнения программы на языке Pascal

   2  -5   2  -1  -4  -5  -5   3   3  -1
4

Исходный код на языке программирования C

#include <stdio.h>
#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);
}

Пример(ы) выполнения программы на языке C

  -1   4  -5   4  -5  -1   0   1  -2  -5
8

Исходный код на языке программирования 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)

Пример(ы) выполнения программы на языке Python

[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

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

Пример(ы) выполнения программы на языке Basic

-4 -5 0 -4 -3 -5 2 4 0 -1
6

Тема

Массивы

Уровень сложности

Простой

Дата публикации