Const n=10; var a,d:array[1..n] of integer; k,i,j,t:integer; begin Randomize; for i:=1 to n do begin a[i]:=random(900)+100; write(a[i]:4); end; writeln; writeln('Количество делителей:'); for i:=1 to n do begin k:=2; for j:=2 to a[i] div 2 do if a[i] mod j = 0 then k:=k+1; d[i]:=k; write(d[i]:4); end; writeln; for i:=1 to n-1 do for j:=1 to n-i do if d[j]>d[j+1] then begin t:=d[j]; d[j]:=d[j+1]; d[j+1]:=t; t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t; end; Writeln('Отсортированный массив:'); for i:=1 to n do Write(a[i],' '); Writeln end.
Const dlin = 100; var b:array[1..dlin,1..2] of integer; i,j,x:integer; begin writeln('Исходный массив:'); for i:=1 to dlin do begin b[i,1]:=random(800)+100; write(b[i,1],' '); b[i,2]:=b[i,1] mod 10 + b[i,1] div 100 + b[i,1] div 10 mod 10; end; writeln;
for i:=1 to dlin-1 do for j:=dlin-1 downto i do if b[j,2]>b[j+1,2] then begin x:=b[j,2]; b[j,2]:=b[j+1,2]; b[j+1,2]:=x; x:=b[j,1]; b[j,1]:=b[j+1,1]; b[j+1,1]:=x; end;
writeln('Отсортированный массив:'); for i:=1 to dlin do write(b[i,1],' ');