Pascal abc, программа! вводится целое положительное число. найти наименьшую нечетную цифру в числе. если в числе нет нечетных цифр, то вывести надпись "в числе нет нечетных цифр"
Возможно, так, как сделал я - не совсем то, что хотел от вас преподаватель. но программа работает как надо по вашему . при чем вводить можно даже числа из девяти знаков function checkstr( x: string ): boolean; // это функция, которая проверяет введенное пользователем на то, является ли это целым положительным числом, а не какими-нибудь буквами begin var k: integer; if length(x) > 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] < min ) and ( b[i] mod 2 < > 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.
titov-es3095
13.03.2020
#симметричные числа input "нижняя граница диапазона = ", a input "верхняя граница диапазона = ", b if b< a then t=a a=b b=t end if if a< 10 then print "числа должны быть по крайней мере двухзначными" goto fin end if for i=a to b s$=i n=length(s$) k=n\2 for j=1 to k if mid(s$,j,1)< > mid(s$,n-j+1,1) then goto nonsimm next j print i nonsimm: next i fin: end тестовое решение: нижняя граница диапазона = 954 верхняя граница диапазона = 1423 959 969 979 989 999 1001 1111 1221 1331
potap-ver20065158
13.03.2020
Можно декодировать вручную: надо написать вместо каждой буквы - букву, которая в алфавите стоит перед ней (для буквы а - букву я) - это не сложно, например: о -> н (в алфавите н б -> а (в алфавите а и т.д. можно с интернет-калькулятора (гyглить по фразе "шифр цезаря"): ввести исходную фразу и посмотреть, что получится (сдвиг в шифре равен -1 или, что тоже самое, 32) наконец, можно написать программу, которая всё сделает для вас. в любом случае, об оёу тфеб оёу = на нет суда нет лпоёч - еёмф гёоёч = конец - делу венец