PASCAL ABC, программка! Вводится целое положительное число. Отыскать меньшую нечетную цифру

PASCAL ABC, программка! Вводится целое положительное число. Отыскать наименьшую нечетную цифру в числе. Если в числе нет нечетных цифр, то вывести надпись "В числе нет нечетных цифр"

Задать свой вопрос
1 ответ
Вероятно, так, как сделал я - не совершенно то, что желал от вас учитель. Но программка работает как надобно по вашему заданию. При чем вводить можно даже числа из 9 символов

function checkstr( x: string ): boolean; // это функция, которая инспектирует введенное юзером на то, является ли это целым положительным числом, а не какими-нибудь знаками
begin
var k: integer;
if length(x) gt; 0 then begin
Result := True;
for k := 1 to length(x) do
if not (x[k] in ['0'..'9']) then begin
Result := False;  // если юзер ничего не ввел либо ввел не числа, то будет возвращена ложь
end;end;end;

var N: string;
error, r, i, min: integer;
B: array[1..8] of integer; // В - массив, в котором будут храниться все числа введенного числа
begin
write('Введите целое положительное число: ');
readln(N);
if checkstr(N) then begin // вызываем нашу функцию на обработку введенных данных
r := Length(N); // присваиваем переменной r размер введенной строчки
val( N[ 1 ], min, error); // преобразует строковое значение в тип integer и присваиваем наименьшему значению первую цифру
for i := 2 to r do begin
val( N[ i ], B[ i ], error ); // конвертируем строковые цифры в integer
if ( B[i] lt; min ) AND ( B[i] mod 2 lt;gt; 0) then min := B[i]; // если цифра нечетная и меньше переменной min , то присвоить переменной min значение этой числа
if ( min mod 2 = 0 ) then min := B[i]; // проверяем на всякий случай еще раз первую цифру
end;
if ( min mod 2 = 0 ) then writeln('Нечетных цифр нет') // если нечетных цифр нет, а наименьшая цифра четная, то разговариваем, что нечетных цифр нет
else writeln( 'Меньшая нечетная цифра в числе: ', min ); // выводим наименьшую нечетную цифру из числа
end
else writeln('Неверный формат ввода'); // если юзер вдруг ввел буквы либо какие-нибудь каракули вместо целого числа
end.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт