Подскажите, правильно ли работает задача ?
uses
SysUtils;
const
nmax = 100;
type
MyArr = array[1..nmax] of integer;
procedure sort(var a: MyArr; n: integer);
var
i, j, k, x: integer;
begin
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;
end;
var
a: MyArr;
n, i: integer;
begin
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;
sort(a, n);
writeln('????: ');
for i := 1 to n do
write(a[i]:4);
readln
end.
Вот задание: Заданный
одномерный массив отсортировать по возрастанию цифры десятков каждого элемента.
Сортировка включением.