Информатика · 6 класс Задача №3191514
А
А
Конечно! Вот пример кода на языке Паскаль, который с помощью процедуры определяет наибольшую нечетную цифру в введенном числе. Если нечетных цифр нет, выводится 0.
program FindMaxOddDigit;
uses crt;
var
num: LongInt;
maxOddDigit: Integer;
procedure FindLargestOddDigit(number: LongInt; var result: Integer);
var
digit: Integer;
maxDigit: Integer;
begin
maxDigit := 0; // будем хранить максимальную нечетную цифру, 0 означает, что не нашли
while number <> 0 do
begin
digit := number mod 10; // берем последнюю цифру
if (digit mod 2 = 1) then // проверяем, нечетная ли цифра
begin
if (digit > maxDigit) then
maxDigit := digit; // ищем максимум среди нечетных цифр
end;
number := number div 10; // удаляем последнюю цифру
end;
if maxDigit = 0 then
result := 0 // не нашли нечетных цифр
else
result := maxDigit; // возвращаем найденную максимальную нечетную цифру
end;
begin
clrscr;
writeln('Введите число: ');
readln(num);
FindLargestOddDigit(num, maxOddDigit);
if maxOddDigit = 0 then
writeln('Нечетных цифр нет или число содержит только нули.')
else
writeln('Наибольшая нечетная цифра: ', maxOddDigit);
readln;
end.
Объяснение:
- Программа запрашивает у пользователя число.
- Процедура
FindLargestOddDigitперебирает все цифры числа, начиная с последней. - В ходе перебора она проверяет, является ли цифра нечетной (
digit mod 2 = 1). - Если нечетная, сравнивает её с текущим максимумом (
maxDigit) и при необходимости обновляет значение. - После завершения цикла, если не было найдено нечетных цифр, возвращает 0.
- В основном теле программы выводится результат.
Если есть вопросы или нужно более адаптированное решение — скажи!