Поменять местами наибольшую и наименьшую цифры в числе - 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
.
- Старые цифры заменяются на новые, образуя новое число
- Печать нового числа:
- Результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д