Поменять местами наибольшую и наименьшую цифры в числе - Pascal
Формулировка задачи:
В заданном целом положительном числе N поменять местами наибольшую и наименьшую цифры. Предусмотреть случай, когда таких цифр нет.
Решение задачи: «Поменять местами наибольшую и наименьшую цифры в числе»
textual
Листинг программы
var n,m,kmn,kmx:integer; k,mx,mn,i,imx,imn:byte; begin repeat write('Введите число больше 9 n='); readln(n); until n>9; mn:=9; imn:=0; mx:=0; imx:=0; k:=0; m:=n; while m>0 do begin k:=k+1;{считаем цифры} if m mod 10<mn then {если меньше} begin mn:=m mod 10;{это мин} imn:=k {его номер с конца} end; if m mod 10>mx then {то же с макс.} begin mx:=m mod 10; imx:=k end; m:=m div 10; end; if mn=mx then begin writeln('Все цифры в числе одинаковы'); exit; end; kmn:=1;{узнаем разряд мин} for i:=2 to imn do kmn:=kmn*10; kmx:=1;{то же макс} for i:=2 to imx do kmx:=kmx*10; {получим новое число, вычтя старые цифры и прибавив новые} m:=n-mx*kmx-mn*kmn+mx*kmn+mn*kmx; write(m); end.
Объяснение кода листинга программы
- Объявление переменных:
n, m, kmn, kmx
- целочисленные переменные, используемые для хранения значений чисел и промежуточных результатов.k, mx, mn, i, imx, imn
- переменные типа byte, обозначающие счетчики и промежуточные индексы.
- Ввод числа:
- Пользователю предлагается ввести число
n
больше 9.
- Пользователю предлагается ввести число
- Поиск минимальной и максимальной цифр:
- Программа проходит циклом по всем цифрам числа
m
, чтобы найти наименьшую и наибольшую цифры. - При этом также сохраняются их позиции в числе.
- Программа проходит циклом по всем цифрам числа
- Проверка на одинаковые цифры:
- Если минимальная и максимальная цифры оказываются одинаковыми, программа печатает сообщение и завершает выполнение.
- Вычисление коэффициентов разрядов для минимальной и максимальной цифры:
- Для вычисления нового числа, требуется выяснить разряды минимальной и максимальной цифр.
- Поиск нового числа:
- Старые цифры заменяются на новые, образуя новое число
m
.
- Старые цифры заменяются на новые, образуя новое число
- Печать нового числа:
- Результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д