Program forZnania; var x,a,b:integer; begin a:=0; b:=0; repeat readln(x); if x mod 2=0 then a:=a+1 else b:=b+x until x=0; a:=a-1; writeln('Количество четных чисел: ',a); writeln('Сумма нечетных чисел: ',b); end.
Наверное Вы удивитесь почему после цикла стоит 'a:=a-1'? Поясняю: когда Вы вводите последнее число 0, то программа воспринимает его за четное число и приписывает его к кол-ву четных чисел, поэто уменьшаем кол-во чет чисел на одно.
var x,a,b:integer;
begin
a:=0;
b:=0;
repeat
readln(x);
if x mod 2=0 then a:=a+1 else b:=b+x
until x=0;
a:=a-1;
writeln('Количество четных чисел: ',a);
writeln('Сумма нечетных чисел: ',b);
end.
Наверное Вы удивитесь почему после цикла стоит 'a:=a-1'?
Поясняю: когда Вы вводите последнее число 0, то программа воспринимает его за четное число и приписывает его к кол-ву четных чисел, поэто уменьшаем кол-во чет чисел на одно.