Отсортировать строки массива целых чисел по убыванию. Шейкерная сортировка — Pascal(Паскаль)

const n=10;
      m=10;
var a:array[1..n,1..m]of integer;
    i,j,k,mn,mx,t:integer;
begin
randomize;
for i:=1 to n do
begin
  for j:=1 to m do
  begin
    a[i,j]:=random(101)-50;
    write(a[i,j]:5);
  end;
  writeln;
end;
for i:=1 to n do
for j:=1 to m div 2 do
begin
       if a[i,j]<a[i,j+1] then
       begin
          mn:=j+1; mx:=j;
       end
       else
       begin
          mn:=j; mx:=j+1;
       end;
       for k:=j+2 to m-j+1 do
       if a[i,k]<a[i,mx] then mx:=k
       else
       if a[i,k]>a[i,mn] then mn:=k;
       t:=a[i,j]; a[i,j]:=a[i,mn]; a[i,mn]:=t;
       if mx=j then mx:=mn;
       t:=a[i,m-j+1]; a[i,m-j+1]:=a[i,mx]; a[i,mx]:=t;
end;
writeln('Результат:');
for i:=1 to n do
begin
  for j:=1 to m do
  write(a[i,j]:5);
  writeln;
end;
readln;
end.

Leave a Comment

− 2 = 2