Определить порядковый номер его максимальной и минимальной цифры - Pascal ABC

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

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

Дано натуральное число, в котором все цифры различны. Определить порядковый номер его максимальной и минимальной цифры, считая номера 1. От конца; 2. От начала числа. Спасибо за ответ!

Решение задачи: «Определить порядковый номер его максимальной и минимальной цифры»

textual
Листинг программы
var n,n1,k,k1,c,mn,imn,mx,imx:integer;
begin
write('Введите натуральное число из разных цифр больше 9 n=');
readln(n);
//узнаем сколько цифр в числе
n1:=n;
k:=0;
while n1>0 do
 begin
  n1:=n1 div 10;
  k:=k+1;
 end;
mn:=9;
mx:=0;
k1:=0;
while n>0 do
 begin
  c:=n mod 10;
  k1:=k1+1;
  if c<mn then
   begin
    mn:=c;
    imn:=k1;
   end;
  if c>mx then
   begin
    mx:=c;
    imx:=k1;
   end;
  n:=n div 10;
 end;
writeln('Минимальная цифра=',mn,' ее номер справа=',imn,' слева=',k-imn+1);
writeln('Максимальная цифра=',mx,' ее номер справа=',imx,' слева=',k-imx+1);
end.

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

  1. Создается переменная n, которая будет хранить введенное пользователем натуральное число.
  2. Вычисляется количество цифр в числе, которое будет храниться в переменной n1.
  3. Задаются начальные значения для переменной mn (9), mx (0) и k1 (0).
  4. Запускается цикл while, который будет выполняться до тех пор, пока n не станет равным нулю.
  5. Внутри цикла происходит деление n на 10, что позволяет получить последнюю цифру введенного числа. Полученная цифра сохраняется в переменной c.
  6. Задается значение k1 как сумму k и imn (индекс предыдущей цифры).
  7. Проверяется, является ли текущая цифра меньше mn. Если да, то обновляется значение mn и imn.
  8. Проверяется, является ли текущая цифра больше mx. Если да, то обновляется значение mx и imx.
  9. После завершения цикла n делится на 10, чтобы получить последнюю цифру.
  10. Выводится информация о минимальной цифре, ее номере слева и справа от нее.
  11. Выводится информация о максимальной цифре, ее номере слева и справа от нее.

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


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

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

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