Пусть для целого n>0 функция d(n) равна количеству делителей числа n. Дано m>0. Упорядочить все числа n от 1 до m в порядке неубывания значений d(n). Указание: использовать только один массив длиной m.
Мой набросок, но программа не работает
Code
const z=100;
var
a:array[1..z] of integer;
m,i,j,p,q:byte;
x:integer;
function d(n:integer):byte;
var del:byte;
begin
del:=0;
for i:=1 to a do
if a mod i=0 then
begin
del:=del+1;
d:=del
end;
end;
begin
writeln('ўўҐ¤ЁвҐ а §¬Ґа®бвм ¬ ббЁў m');
readln(m);
for i:=1 to m do begin
writeln('‚ўҐ¤ЁвҐ ',i,'-© н«Ґ¬Ґв ¬ ббЁў ');
readln(a[i]);
end;
for i:=2 to m do begin {copTupoBka ny3bIpbkoM,ko/l-Bo pa3 ckoka npoxoguM 4epe3 MaccuB}
for j:=m downto i do begin
p:=d(a[j]); {j-HoMep Tekywero 3/leMeHTa B MaccuBe}
q:=d(A[j-1]);
if p>q then {P-Tekywuu,q-npegbIgywuu'}
begin
x:=a[j-1]; {X- nepeMeHHa9 g/l9I xpaHeHu9I 3/leMeHTa}
a[j-1]:=a[j];
a[j]:=x;
end;
end;
end;
for i:=1 to m do {B cuk/le BbIBoguM Ha ne4aTb - oTcopTupoBaHHbIe}
write (a[i],' ');
readln;
end.