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

Задача

Найти сумму положительных элементов массива.

Решение

Отличие данной задачи от задачи вычисления суммы всех элементов массива лишь в том, что каждый элемент необходимо проверять на то, что он больше нуля. Только в этом случае его значение следует добавлять к переменной, предназначенной для хранения суммы.

Алгоритм нахождения суммы положительных элементов массива следующий:

  1. После заполнения массива присваиваем переменной sum (в ней будет храниться сумма) значение 0.
  2. Используя цикл for, начинаем перебирать элементы массива с первого до последнего.
  3. В цикле с помощью условного оператора if проверяем, больше ли текущий элемент массива нуля.
  4. Если это так то добавляем его значение к переменной sum.
  5. После завершения цикла выводим значение 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 следует использовать оператор >=, т. к. неотрицательные элементы - это положительные и ноль. Если нужно найти сумму отрицательных элементов, то знак будет "меньше" (<).

Тема

Одномерные массивы

Уровень

Простые задачи

Последняя редакция

Добавить комментарий