Помогите пожалуйста написать эту задачу с процедурой
uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
n,i,j,k,x:integer;
begin
clrscr;
randomize;
repeat
write('Введите размер массива от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Исходный массив: ');
for i:=1 to n do
begin
a[i]:=random(1000);;
write(a[i]:4);
end;
writeln;
for i:=2 to n do
begin
x:=a[i];{запоминаем очередной элемент}
j:=1;{смотрим что слева от него}
while x div 10 mod 10>a[j] div 10 mod 10 do inc(j);{пока цифры десятков
меньше данного, идем вперед}
for k:=i-1 downto j do{нашли меньше, сдвигаем массив от этого элемента-1}
a[k+1]:=a[k];{на 1 вправо}
a[j]:=x;{вставляем найденный элемент на место}
end;
writeln('Отсортированный массив: ');
for i:=1 to n do
write(a[i]:4);
readln
end.