Как исправить программу? паскаль АВС
задание: посчитать количество отрицательных и положительных чисел (с клавиатуры вводят последовательность чисел до тех пор, пока не будет введен 0)
progran zadanie;
var n, p, a: integer;
begin
n := 0;
p := 0;
writeln('Введите a');
readln(a);
while a <> 0 do
begin
if a < 0
then begin n:=0+1;
writeln('Количество отрицательных чисел: ', n);
end
else if a > 0
then begin p:=p+1;
writeln('Количество положительных чисел: ', p);
end
end
end.
Предложу вариант проще:
var n,o,p:integer;
begin
(n,o,p):=(0,0,0);
while (true) do begin
readln(n);
if (n = 0) then break;
if (n > 0) then p += 1;
if (n < 0) then o += 1;
end;
writeln('Кол-во положительных: ',p);
writeln('Кол-во отрицательных: ',o);
end.