Предложу вариант проще:
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.