Определить порядковый номер его максимальной и минимальной цифры - 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.
Объяснение кода листинга программы
- Создается переменная n, которая будет хранить введенное пользователем натуральное число.
- Вычисляется количество цифр в числе, которое будет храниться в переменной n1.
- Задаются начальные значения для переменной mn (9), mx (0) и k1 (0).
- Запускается цикл while, который будет выполняться до тех пор, пока n не станет равным нулю.
- Внутри цикла происходит деление n на 10, что позволяет получить последнюю цифру введенного числа. Полученная цифра сохраняется в переменной c.
- Задается значение k1 как сумму k и imn (индекс предыдущей цифры).
- Проверяется, является ли текущая цифра меньше mn. Если да, то обновляется значение mn и imn.
- Проверяется, является ли текущая цифра больше mx. Если да, то обновляется значение mx и imx.
- После завершения цикла n делится на 10, чтобы получить последнюю цифру.
- Выводится информация о минимальной цифре, ее номере слева и справа от нее.
- Выводится информация о максимальной цифре, ее номере слева и справа от нее.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д