Для каждого столбца прямоугольной целочисленной матрицы определить сумму модулей его элементов, а затем сгруппировать столбцы в порядке возрастания этих сумм — Pascal(Паскаль)

uses crt;
var
   a:array[1..100,1..100] of integer;
   i,j,n,m,z,e:integer;
function modul(x:integer):integer;
begin
     if x>=0 then
        modul:=x
     else
         modul:=-x;
end;
begin
    clrscr;
  readln(n,m);
  randomize;
  for i:=1 to n do
      for j:=1 to m do
          a[i,j]:=random(20)-10;
  for i:=1 to n do
      for j:=1 to m do
          a[n+1,j]:=a[n+1,j]+modul(a[i,j]);
 
   for i:=1 to n do
       begin
            for j:=1 to m do
                write(a[i,j],' ');
            writeln;
       end;
 
  writeln;
  for j:=1 to m do
      for z:=j+1 to m do
          if a[n+1,j]>a[n+1,z] then
             begin
                  for i:=1 to n+1 do
                      begin
                           e:=a[i,j];
                           a[i,j]:=a[i,z];
                           a[i,z]:=e;
                      end;
             end;
   for i:=1 to n do
       begin
            for j:=1 to m do
                write(a[i,j],' ');
            writeln;
       end;
 
     readln;
end.

Leave a Comment

− 2 = 4