Попробуй:
var
a, chet, nechet : integer;
begin
write('введите число: ');
readln(a);
while a > 0 do begin
if (a mod 10) mod 2 = 0then chet += 1 else nechet += 1;
a := a div 10;
end;
writeln('четных: ', chet);
writeln('не четных: ', nechet);
end.
программа считает 0 как четное число. Если нужно что бы 0 не учитывался при подсчете то необходимо строку:
заменить на:
if a mod 10 <> 0 then if (a mod 10) mod 2 = 0then chet += 1 else nechet += 1;
Попробуй:
var
a, chet, nechet : integer;
begin
write('введите число: ');
readln(a);
while a > 0 do begin
if (a mod 10) mod 2 = 0then chet += 1 else nechet += 1;
a := a div 10;
end;
writeln('четных: ', chet);
writeln('не четных: ', nechet);
end.
программа считает 0 как четное число. Если нужно что бы 0 не учитывался при подсчете то необходимо строку:
if (a mod 10) mod 2 = 0then chet += 1 else nechet += 1;
заменить на:
if a mod 10 <> 0 then if (a mod 10) mod 2 = 0then chet += 1 else nechet += 1;