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.
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.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов