Поменять местами наибольшую и наименьшую цифры в числе - 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.

Объяснение кода листинга программы

  1. Объявление переменных:
    • n, m, kmn, kmx - целочисленные переменные, используемые для хранения значений чисел и промежуточных результатов.
    • k, mx, mn, i, imx, imn - переменные типа byte, обозначающие счетчики и промежуточные индексы.
  2. Ввод числа:
    • Пользователю предлагается ввести число n больше 9.
  3. Поиск минимальной и максимальной цифр:
    • Программа проходит циклом по всем цифрам числа m, чтобы найти наименьшую и наибольшую цифры.
    • При этом также сохраняются их позиции в числе.
  4. Проверка на одинаковые цифры:
    • Если минимальная и максимальная цифры оказываются одинаковыми, программа печатает сообщение и завершает выполнение.
  5. Вычисление коэффициентов разрядов для минимальной и максимальной цифры:
    • Для вычисления нового числа, требуется выяснить разряды минимальной и максимальной цифр.
  6. Поиск нового числа:
    • Старые цифры заменяются на новые, образуя новое число m.
  7. Печать нового числа:
    • Результат выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы