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.
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.
//Версия 3.3, сборка 1634 (14.02.2018)
begin
Println('Максимальный=',ReadArrInteger(ReadInteger('n->')).Where(t->t<0).Max)
end.
Пример:
n-> 5
-7 8 -6 4 -1
Максимальный= -1