Код:
Uses CRT;
Const
N=10;
Type
Vector=Array[1..N] of Char;
Var
M:Array[1..N] of Vector;
V:Vector;
Num:Array [1..N] of Byte;
i,j: integer;
Number:Byte;
BEGIN
ClrScr;
Randomize;
for j:=1 to N do
for i:=1 to N do
M[j][i]:=CHR(33+Random(30));
for i:=1 to N do
begin
for j:=1 to N do
write(M[j][i],' ');
writeln;
end;
writeln;
for j:=1 to N do
begin
Num[j]:=0;
for i:=1 to N do
If (Ord(M[j][i])<48) or (Ord(M[j][i])>57) then Inc(Num[j]);
end;
For j:=1 to N do write(Num[j],' ');
writeln;
writeln;
For i:=1 to N do
For j:=1 to N-i do
If Num[j+1]>Num[j] then
begin
V:=M[j+1];
Number:=Num[j+1];
M[j+1]:=M[j];
Num[j+1]:=Num[j];
M[j]:=V;
Num[j]:=Number;
end;
for i:=1 to N do
begin
for j:=1 to N do
write(M[j][i],' ');
writeln;
end;
readln;
end.