Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.54 KB | None | 0 0
  1. program Hello;
  2.  
  3. var
  4.    a: array [1..10] of array[1..10] of integer;
  5.    n, i, j, min, t, k : integer;
  6.  
  7. begin
  8.     // ввод размерности матрицы
  9.     read(n);  
  10.     // ввод самой матрицы    
  11.     for i := 1 to n do
  12.         for j := 1 to n do
  13.             read(a[i][j]);   (* set element at location i to i + 100 *)
  14.    for k := 1 to n do begin
  15.     // сортируется верхняя половина
  16.        for i := 1 to n - 1 do begin
  17.             min := i;
  18.             for j := i + 1 to k do
  19.                 if a[min][k-min+1] > a[j][k-j+1] then
  20.                     min := j;
  21.             if min<>i then begin
  22.                 t := a[i][k-i+1];
  23.                 a[i][k-i+1] := a[min][k-min+1];
  24.                 a[min][k-min+1] := t;
  25.             end;
  26.         end;
  27.        // здесь сортируется нижняя половина
  28.        for i := 1 to n - 1 do begin
  29.             min := i;
  30.             for j := i + 1 to k do
  31.                 if a[n + 1 - min][n + 1 - (k-min+1)] < a[n + 1 - j][n + 1 - (k-j+1)] then
  32.                     min := j;
  33.             if min<>i then begin
  34.                 t := a[n + 1 - i][n + 1 - (k-i+1)];
  35.                 a[n + 1 - i][n + 1 - (k-i+1)] := a[n + 1 - min][n + 1 - (k-min+1)];
  36.                 a[n + 1 - min][n + 1 - (k-min+1)] := t;
  37.             end;
  38.         end;
  39.     end;
  40.    
  41.     // вывод матрицы
  42.     for i:= 1 to n do begin
  43.         for j := 1 to n do
  44.         begin
  45.             write(a[i][j] : 5);
  46.         end;
  47.         writeln();
  48.     end;
  49. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement