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

Задача

Сгенерировать 20 случайных целых чисел в диапазоне от -5 до 4, записать их в ячейки массива. Посчитать сколько среди них положительных, отрицательных и нулевых значений. Вывести на экран элементы массива и посчитанные количества.

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

  1. Присвоить счетчикам положительных, отрицательных и нулевых чисел значения 0.
  2. В цикле
    1. генерировать случайное число и записывать его в соответствующую ячейку массива,
    2. выводить на экран,
    3. сравнивать с нулем и в зависимости от результата увеличить на 1 либо счетчик пложительных чисел, либо отрицательных, либо нулевых.
  3. Вывести на экран значения счетчиков.

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

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

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

  0  0 -4 -2  4  0  2 -4  3  0  0 -4  2  2  0 -3 -3  3 -3 -4
Положительных: 6
Отрицательных: 8
Равных нулю: 6

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

#include <stdio.h>
#define N 20
 
main() {
    srand(time(NULL));
    int a[N],i,neg,pos,zero;
    neg = 0;
    pos = 0;
    zero = 0;
    for (i=0; i<N; i++) {
        a[i] = rand() % 10 - 5;
        printf("%3d", a[i]);
        if (a[i] > 0) pos += 1;
        else if (a[i] < 0) neg += 1;
        else zero += 1;
    }
    printf("\nПоложительных: %d\n", pos);
    printf("Отрицательных: %d\n", neg);
    printf("Равных нулю: %d\n", zero);
}

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

 -5 -4  0 -3  1  3 -2 -4  4 -4  2 -5 -1 -4 -3 -1 -4 -5  1  3
Положительных: 6
Отрицательных: 13
Равных нулю: 1

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

from random import random
neg = pos = zero = 0
a = []
for i in range(20):
    n = int(random() * 10) - 5
    a.append(n)
    print(n, end=' ')
    if n > 0:
        pos += 1
    elif n < 0:
        neg += 1
    else:
        zero += 1
 
print("\nПоложительных: ", pos)
print("Отрицательных: ", neg)
print("Равных нулю: ", zero)

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

-4 3 -4 3 -2 3 4 -2 -4 3 -4 -3 0 1 4 -2 2 0 -3 -4
Положительных:  8
Отрицательных:  10
Равных нулю:  2

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

алг положительные элементы
нач
  цел N = 20
  цел таб a[1:N]
  цел pos=0, neg=0, zero=0,i
  нц для i от 1 до N
    a[i] := int(rand(0,10))-5
    вывод a[i], " "
    если a[i] > 0 то pos := pos + 1
     иначе
      если a[i] < 0 то neg := neg + 1
       иначе zero := zero + 1
      все
    все
  кц
  вывод нс, "Положительных: ", pos
  вывод нс, "Отрицательных: ", neg
  вывод нс, "Равных нулю: ", zero
кон

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

N = 20
dim a(N)
pos = 0
neg = 0
zero = 0
for i=0 to N-1
        a[i] = int(rand()*10) - 5 # от 4 до -5
        print a[i]+ " ";
        if a[i] < 0 then
                neg = neg + 1
        else
                if a[i] > 0 then
                        pos = pos+1
                else
                        zero = zero + 1
                endif
        endif
next i
print
print "Positive: " + pos
print "Negative: " + neg
print "Zero: " + zero

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

3 4 2 1 3 -4 0 0 -1 4 4 -1 2 -5 -4 -3 3 2 4 -3
Positive: 11
Negative: 7
Zero: 2

Тема

Массивы

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

Простой

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