begin
var число : = readinteger('введите натуральное число: ');
var (четных, нечетных) : = (0, 0);
while число > 0 do
begin
if (число mod 10).isodd then inc(нечетных)
else inc(четных);
число : = число div 10
end;
println('нечетных', нечетных, 'четных', четных)
end.
введите натуральное число: 1406439 нечетных 3 четных 4объясняю: создаёте переменную, лучше целочисленную (int foo), после чего можно либо перевести число в строку и найти сумму цифр путём сложения двух символов (sum = bar[0] - '0' + bar[1] - '0'), либо с остатка от деления (конечно, это не красиво, но если известно, что число двузначное, то можно так: sum = (foo / 10) + (foo % дальше банальная обработка условия: < если сумма чётная (if (sum % 2 == то увеличить число на 2 (foo += 2), иначе (else) уменьшить число на 2 (foo -= 2)> . после этого можете вывести результат на монитор (printf("%d\n", & : )
Поделитесь своими знаниями, ответьте на вопрос:
program privet;
var
x: real;
begin
writeln('который час? '); read(x);
if x > 24 then
writeln('введенное число не является временем ' )
else
begin
if (x> =8) and (x< 12) then writeln('доброе утро! ');
if (x> =12) and (x< 17) then writeln('добрый день! ');
if(x> =17) and (x< 23) then writeln('добрый вечер! ');
if(x> =23) or (x< 8) then writeln('доброй ночи! ');
end;
end.
//вторая программа
var
x,x1,x2,y,y1,y2: real;
begin
write('x = '); readln(x);
write('y = '); readln(y);
write('x1 = '); readln(x1);
write('y1 = '); readln(y1);
write('x2 = '); readln(x2);
write('y2 = '); readln(y2);
if ((x - x1) * (x - x2) < 0) and ((y - y1) * (y - y2) < 0) then
writeln('точка принадлежит заданной области')
else
writeln('точка не принадлежит заданной области');
end.