function summa(n:integer):integer;
var a,s:integer;
begin
a:=abs(n);
s:=0;
while a>0 do
begin
s:=s+a mod 10;
a:=a div 10;
end;
summa:=s
end;
const n=10;
var A:array [1..n] of integer;
j,i,k:integer;
begin
writeln('Исходный массив: ');
for i:=1 to n do
begin
A[i]:=random(15)+1;
write(A[i]:4);
end;
for i:=1 to n-1 do
begin
for j:=1 to n-1 do
if summa(A[j])<summa(A[j+1]) then
begin
k:=A[j];
A[j]:=A[j+1];
A[j+1]:=k
end;
end;
writeln;
writeln('Отсортированный массив: ');
for i:=1 to n do
write(A[i]:4);
readln
end.
setbrushcolor(clblack);Ellipse(270,330,330,370);line(300,370,300,400);Arc(300,280,120,220,-40);
line(50,350,200,350);line(30,340,190,340);line(10,330,180,330);
line(410,330,570,330);line(400,340,560,340);line(390,350,550,350);
line(240,230,220,150);line(230,230,180,80);line(220,230,180,150);
line(360,230,380,150);line(370,230,430,80);line(380,230,430,150);
end.