Поменять местами наибольшую и наименьшую цифры в числе - Pascal

Узнай цену своей работы

Формулировка задачи:

В заданном целом положительном числе N поменять местами наибольшую и наименьшую цифры. Предусмотреть случай, когда таких цифр нет.

Решение задачи: «Поменять местами наибольшую и наименьшую цифры в числе»

textual
Листинг программы
  1. var n,m,kmn,kmx:integer;
  2.     k,mx,mn,i,imx,imn:byte;
  3. begin
  4. repeat
  5. write('Введите число больше 9 n=');
  6. readln(n);
  7. until n>9;
  8. mn:=9;
  9. imn:=0;
  10. mx:=0;
  11. imx:=0;
  12. k:=0;
  13. m:=n;
  14. while m>0 do
  15.  begin
  16.   k:=k+1;{считаем цифры}
  17.   if m mod 10<mn then {если меньше}
  18.    begin
  19.     mn:=m mod 10;{это мин}
  20.     imn:=k {его номер с конца}
  21.    end;
  22.   if m mod 10>mx then {то же с макс.}
  23.    begin
  24.     mx:=m mod 10;
  25.     imx:=k
  26.    end;
  27.   m:=m div 10;
  28.  end;
  29. if mn=mx then
  30.  begin
  31.   writeln('Все цифры в числе одинаковы');
  32.   exit;
  33.  end;
  34. kmn:=1;{узнаем разряд мин}
  35. for i:=2 to imn do
  36. kmn:=kmn*10;
  37. kmx:=1;{то же макс}
  38. for i:=2 to imx do
  39. kmx:=kmx*10;
  40. {получим новое число, вычтя старые цифры и прибавив новые}
  41. m:=n-mx*kmx-mn*kmn+mx*kmn+mn*kmx;
  42. write(m);
  43. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы