program swap; const row = 4; col = 4; type trow = array[1 .. row] of integer; tmatrix = array[1 .. col] of trow; function f(r: trow): integer; var i, s: integer; begin s := 0; for i := 1 to row do if r[i]<0 then s := s + r[i]; f := s; end; procedure swap_cols(var mx: tmatrix; const i, j: integer); var T: trow; begin T := mx[i]; mx[i] := mx[j]; mx[j] := T end; procedure print(var mx: tmatrix); var i, j: integer; begin for i := 1 to row do begin for j := 1 to col do write(mx[j][i]:4); writeln end; end; var mx: tmatrix; i, j: integer; begin { инициализация матрицы } for i := 1 to row do for j := 1 to col do mx[i][j] := random(50)-25; writeln('before:'); print(mx); for i := 1 to col do for j := col downto i+1 do if f(mx[j - 1]) > f(mx[j]) then swap_cols(mx, j - 1, j); writeln('after:'); print(mx); end.