Сумма положительных элементов массива
Найти сумму положительных элементов массива.
Отличие данной задачи от задачи вычисления суммы всех элементов массива лишь в том, что каждый элемент необходимо проверять на то, что он больше нуля. Только в этом случае его значение следует добавлять к переменной, предназначенной для хранения суммы.
Алгоритм нахождения суммы положительных элементов массива следующий:
- После заполнения массива присваиваем переменной sum (в ней будет храниться сумма) значение 0.
- Используя цикл
for
, начинаем перебирать элементы массива с первого до последнего. - В цикле с помощью условного оператора
if
проверяем, больше ли текущий элемент массива нуля. - Если это так, то добавляем его значение к переменной sum.
- После завершения цикла выводим значение sum на экран. Оно обозначает сумму только положительных элементов массива.
const
N = 15;
var
arr: array[1..N] of integer;
i: byte;
sum: integer;
begin
randomize;
for i:=1 to N do begin // заполнение
arr[i] := random(10) - 5;
write(arr[i]:4);
end;
writeln;
sum := 0; // подсчет суммы
for i:=1 to N do
if arr[i] > 0 then
sum := sum + arr[i];
writeln(sum:5);
end.
Пример выполнения:
-4 -4 -5 1 3 -3 0 4 -4 4 -4 -5 2 1 0
15
Можно сократить код программы, если вычислять сумму в том же цикле, в котором происходит заполнение массива. При этом выражение sum := 0
следует поместить до этого цикла.
Задача может быть сформулирована так: "Найти сумму неотрицательных элементов массива". В таком случае в условии if
следует использовать оператор >=
, так как неотрицательные элементы - это положительные и ноль. Если нужно найти сумму отрицательных элементов, то знак будет "меньше" (<
).