program SortingLaba5;
type
index=byte;
item=word;
const
n=8;
var
i,j,m,l,r,k :index;
x,max,max1 :item;
a :array[1..n,1..n] of item;
begin
{ TODO -oUser -cConsole Main : Insert code here }
randomize;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(1000);
write(a[i,j]:5)
end;
writeln
end;
{----------------------------------------------}
for i:=2 to n do
begin
max:=a[i,1];
for j:=2 to n do
if a[i,j]>max then
max:=a[i,j];
l:=1;
r:=i;
while l<r do
begin
m:=(l+r) div 2;
max1:=a[m,1];
for j:=2 to n do
if a[m,j]>max1 then
max1:=a[m,j];
if max1<=max then
l:=m+1
else
r:=m
end;
for k:=1 to n do
begin
x:=a[i,k];
for j:=i downto r+1 do
a[j,k]:=a[j-1,k];
a[r,k]:=x
end
end;
{----------------------------------------------}
writeln;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:5);
writeln
end;
readln;
end.
cHJvZ3JhbSBTb3J0aW5nTGFiYTU7Cgp0eXBlCiAgaW5kZXg9Ynl0ZTsKICBpdGVtPXdvcmQ7CmNvbnN0CiAgbj04Owp2YXIKICBpLGosbSxsLHIsayAgICAgOmluZGV4OwogIHgsbWF4LG1heDEgICAgICA6aXRlbTsKICBhICAgICAgICAgICAgICAgOmFycmF5WzEuLm4sMS4ubl0gb2YgaXRlbTsKCgpiZWdpbgogIHsgVE9ETyAtb1VzZXIgLWNDb25zb2xlIE1haW4gOiBJbnNlcnQgY29kZSBoZXJlIH0KCnJhbmRvbWl6ZTsKZm9yIGk6PTEgdG8gbiBkbwogIGJlZ2luCiAgZm9yIGo6PTEgdG8gbiBkbwogICAgYmVnaW4KICAgIGFbaSxqXTo9cmFuZG9tKDEwMDApOwogICAgd3JpdGUoYVtpLGpdOjUpCiAgICBlbmQ7CiAgd3JpdGVsbgogIGVuZDsKCnstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfQoKZm9yIGk6PTIgdG8gbiBkbwogIGJlZ2luCiAgbWF4Oj1hW2ksMV07CiAgZm9yIGo6PTIgdG8gbiBkbwogICAgaWYgYVtpLGpdPm1heCB0aGVuCiAgICAgIG1heDo9YVtpLGpdOwogIGw6PTE7CiAgcjo9aTsKICB3aGlsZSBsPHIgZG8KICAgIGJlZ2luCiAgICBtOj0obCtyKSBkaXYgMjsKICAgIG1heDE6PWFbbSwxXTsKICAgIGZvciBqOj0yIHRvIG4gZG8KICAgICAgaWYgYVttLGpdPm1heDEgdGhlbgogICAgICAgIG1heDE6PWFbbSxqXTsKICAgIGlmIG1heDE8PW1heCB0aGVuCiAgICAgIGw6PW0rMQogICAgZWxzZQogICAgICByOj1tCiAgICBlbmQ7CgogIGZvciBrOj0xIHRvIG4gZG8KICAgIGJlZ2luCiAgICB4Oj1hW2ksa107CiAgICBmb3Igajo9aSBkb3dudG8gcisxIGRvCiAgICAgIGFbaixrXTo9YVtqLTEsa107CiAgICBhW3Isa106PXgKICAgIGVuZAogIGVuZDsKCnstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfQogIHdyaXRlbG47CiAgd3JpdGVsbjsKCmZvciBpOj0xIHRvIG4gZG8KICBiZWdpbgogIGZvciBqOj0xIHRvIG4gZG8KICAgIHdyaXRlKGFbaSxqXTo1KTsKICB3cml0ZWxuCiAgZW5kOwogIHJlYWRsbjsKCmVuZC4K