Количества отрицательных и положительных элементов в массиве

Задача

В заданном массиве чисел найти (посчитать) количество положительных и количество отрицательных элементов.

Например, задан массив целых чисел [10, -5, 3, 2, 0, -1, 8, 0, 10, 3]. В нем 6 положительных и 2 отрицательных элемента (нули ни к тем, ни к другим не относятся).

Решение

Для решения данной задачи введем две переменные (pos и neg) для подсчета количества соответственно положительных и отрицательных элементов массива.

Будем проверять очередной элемент-число в том же цикле, в котором массив заполняется. Если элемент меньше нуля, значит будем увеличивать на 1 переменную neg. Иначе, если элемент меньше нуля - будем увеличивать pos. Мы не можем опустить проверку на положительность (которая идет второй), ведь число может оказаться равным нулю, и в таком случае никакую переменную счетчик увеличивать не надо.

После завершения цикла остается только вывести на экран значения переменных pos и neg, которые содержат количества положительных и отрицательных элементов массива.

Исходный код программы поиска количества положительных и отрицательных элементов массива на языке Pascal:

const N = 30;
var
    a: array[1..N] of integer;
    i, pos, neg: byte;
begin
    randomize;
    pos := 0;
    neg := 0;
    for i:=1 to N do begin
        a[i] := random(100) - 50;
        write(a[i]:4);
        if a[i] < 0 then
            neg := neg + 1
        else
            if a[i] > 0 then
                pos := pos + 1;
    end;
    writeln;
    writeln('Положительных: ', pos);
    writeln('Отрицательных: ', neg);
end.

Пример выполнения:

  -4 -36  23  42  27 -45 -31 -41 -45 -17  45  19  24 -26   9  16  35  -8 -36  49 -47  17  -1  41 -31  35 -45  34   0 -42
Положительных: 14
Отрицательных: 15

Тема

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

Уровень

Комбинированные задачи

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

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

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
CAPTCHA на основе изображений
Введите символы, которые показаны на картинке.