В произвольно заданном массиве определить число отрицательных, нулевых и положительных...

0 голосов
72 просмотров

В произвольно заданном массиве определить число отрицательных, нулевых и положительных элементов.
Как привести данную программу в действие?
она выводит только число n а не распределяет их. то есть в ответе всегда 0 100 0 ,при n=100
const
n = 100;
var a:array[1..n] of integer;
k1,k2,i: integer;
Begin
For i:=1 to n do
begin
if (a[i]<0) then k1:=k1+1;<br> if (a[i]>0) then k2:=k2+1;
end;
writeln(k1,n-k1-k2,k2);
end.


Информатика (33 баллов) | 72 просмотров
0

Массив нужно сначала заполнить числами. Паскаль изначально обнуляет все переменные

Дан 1 ответ
0 голосов
Правильный ответ

Const
n = 100;
var a:array[1..n] of integer;
k1,k2,i: integer;
Begin
For i:=1 to n do
a[i]:=Random(100)-50;
writeln('Исходный массив: ') ;
For i:=1 to n do write (a[i], ' ');
writeln; {переход на новую строку}
k1:=0; {счётчик для отрицательных элементов}
k2:=0; {счётчик для положительных элементов}
For i:=1 to n do
begin
if (a[i]<0) then k1:=k1+1;<br>if (a[i]>0) then k2:=k2+1;
end;
writeln(k1,' ', n-k1-k2,' ',k2);
end.

(14.0k баллов)
0

cпасибо,я сейчас как раз так и переделала,только хочу понять строчка a[i}:=Random(100)-50;

0

это рандомное число с интервалом 50?

0

т.е. можно ставить например random(100)-5 и это будет тоже верным?

0

Это означает, что случайные числа будут взяты из интервала от -50 до 49, интервал можно брать любой, лишь были и отрицательные элементы

0

random(100)-5 означает, что числа будут взяты из интервала от -5 до 94

0

все стало ясно,благодарю)