Сумма положительных элементов массива
Задача
Найти сумму положительных элементов массива.
Решение
Отличие данной задачи от задачи вычисления суммы всех элементов массива лишь в том, что каждый элемент необходимо проверять на то, что он больше нуля. Только в этом случае его значение следует добавлять к переменной, предназначенной для хранения суммы.
Алгоритм нахождения суммы положительных элементов массива следующий:
- После заполнения массива присваиваем переменной 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 следует использовать оператор >=, т. к. неотрицательные элементы - это положительные и ноль. Если нужно найти сумму отрицательных элементов, то знак будет "меньше" (<).
Комментарии
Сумма отрицательных элементов
В одномерном массиве найти сумму отрицательных элементов. Если эта сумма меньше -100, то прибавить минимальный положительный элемент.