Для каждого числа последовательности определить минимальную цифру и ее месторасположение в числе - Free Pascal
Формулировка задачи:
Вводится последовательность из N целых чисел. Для каждого числа последовательности определить минимальную цифру и ее месторасположение в числе (функция определяет количество цифр в числе)
Решение задачи: «Для каждого числа последовательности определить минимальную цифру и ее месторасположение в числе»
textual
Листинг программы
var
a:array[1..100] of longint;
n,i,j,k,l,t:integer;
begin
write('n=');readln(n);
writeln('введите ',n,' чисел:');
for n:=1 to n do read(a[n]);
for n:=1 to n do begin
t:=abs(a[n]);
i:=t mod 10;k:=0;
repeat
l:=t mod 10;
t:=t div 10;
k:=k+1;
if l<=i then begin
j:=k;
i:=l;
end;
until t=0;
writeln('число ',a[n],' минимальная цифра ',i,' первая позиция ',k-j+1);
end;
end.
Объяснение кода листинга программы
- Объявлены переменные: — a: массив из 100 элементов типа longint; — n, i, j, k, l, t: целочисленные переменные.
- Пользователю предлагается ввести количество чисел (n) и ввести сами числа.
- Происходит два цикла: — Внешний цикл (for n:=1 to n) используется для перебора всех введенных чисел. — Внутренний цикл (for n:=1 to n) используется для определения минимальной цифры числа.
- Внутри внутреннего цикла: — Переменная t присваивается абсолютное значение числа a[n]. — Переменная i присваивается остаток от деления t на 10 (первая цифра числа). — Переменная k инициализируется нулем. — Затем происходит цикл repeat, который выполняется до тех пор, пока t не станет равным нулю. — Во время каждого прохода цикла, переменная l присваивается остаток от деления t на 10 (следующая цифра числа). — Переменная t делится на 10 (удаление последней цифры числа). — Переменная k увеличивается на единицу. — Если l меньше или равно i, то значения переменных i и k заменяются на значения переменных l и k соответственно. — После окончания внутреннего цикла, выводится число a[n], минимальная цифра i и первая позиция k-j+1.
- Код завершается.