Предмет: Информатика,
автор: lakOR555
как исправить программу? паскаль АВС
задание: посчитать количество отрицательных и положительных чисел (с клавиатуры вводят последовательность чисел до тех пор, пока не будет введен 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.
necodancer:
n=0+1
а числа наверное конечный результат над вывести, а не каждый раз перебирать
то есть у тебя числа прямо в цикле выводились,
надо их закрыть было, потом вывод чисел поставить, перед последним енд,
ну и then begin n:=0+1 - ошибка
надо их закрыть было, потом вывод чисел поставить, перед последним енд,
ну и then begin n:=0+1 - ошибка
и один енд лишний наверное
а не, там накручено просто
Ответы
Автор ответа:
1
Предложу вариант проще:
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.
Похожие вопросы
Предмет: Другие предметы,
автор: Shturman645
Предмет: Русский язык,
автор: Xane
Предмет: Русский язык,
автор: tango082503
Предмет: Математика,
автор: адия21
Предмет: Математика,
автор: alyamikus