program mass;
uses crt;
type mm=array[1..100,1..100]of integer;
var i,j,min,max,m,n:integer;
k:mm;
function SummSr(t:integer):real;
var i,sum:integer;
begin
sum:=0;
for i:=1 to m do sum:=sum+k[i,t];
summsr:=sum/m;
end;
procedure ChangeRow(c1,c2:integer);
var i,j,b:integer;
begin
for i:=1 to m do
begin
b:=k[i,c1];
k[i,c1]:=k[i,c2];
k[i,c2]:=b;
end;
end;
begin
clrscr;
randomize;
writeln('Vvedite razmernost'' (M,N):');
readln(m,n);
for i:=1 to m do
for j:=1 to n do
begin
k[i,j]:=random(41);
end;
writeln('Massiv do:');
for i:=1 to m do
begin
for j:=1 to n do write(k[i,j]:2,' ');
writeln;
end;
for i:=1 to n do writeln('Srednee znachenie stolbca #',i,' = ',SummSr(i):0:2);
for i:=1 to m do
for j:=1 to m-1 do
if SummSr(j)>SummSr(j+1) then ChangeRow(j,j+1);
writeln('Massiv posle:');
for i:=1 to m do
begin
for j:=1 to n do write(k[i,j]:2,' ');
writeln;
end;
readln;
end.