но все равно... программка почему-то зацикливается в одном месте и все(( не могу понять, почему....
да... и она еще сказала, переставлять не столбцы, а строки...
в общем, вот...
Код: Выделить всё
uses crt;
const n = 5;
m = 6;
type mas = array [1..m] of integer;
var a:array [1..n] of mas;
sum:array [1..n*2] of longint;
i,j:integer;
buf:longint;
begin
clrscr;
randomize;
for i:=1 to n do
begin
sum[i]:=0;
for j:=1 to m do
begin
a[i,j]:=random(100);
sum[i]:=sum[i]+a[i,j];
write(a[i,j]:7);
end;
writeln(' sum[',i,']=',sum[i]);
sum[i+n]:=i;
end;
writeln;
for i:=1 to n do
begin
j:=1;
repeat
if a[i,j] > a[i,j+1] then
begin
buf:=a[i,j];
a[i,j]:=a[i,j+1];
a[i,j+1]:=buf;
if j<>1 then dec(j);
end
else inc(j);
until j>=m;
end;
i:=1;
repeat
if sum[i] < sum[i+1] then
begin
buf:=sum[i];
sum[i]:=sum[i+1];
sum[i+1]:=buf;
buf:=sum[n+i];
sum[n+i]:=sum[n+i+1];
sum[n+i+1]:=buf;
if i<>1 then dec(i);
end
else inc(i);
until i>=n;
for i:=1 to n do
begin
buf:=sum[n+i];
for j:=1 to m do
write(a[buf,j]:7);
writeln(' sum[',buf,']=',sum[i]);
end;
writeln;
readkey;
end.