Sovun

Первая

Sep 14th, 2015
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.72 KB | None | 0 0
  1. //m строк n столбцов
  2.  
  3. const NMax=100;
  4.       NRand=10;
  5. Type TArray = array[1..NMax, 1..NMax] of integer;
  6. var a:TArray;
  7.     m,n:integer;
  8.  
  9. procedure FillArray(var a:Tarray;m,n:integer);
  10. var i,j:integer;
  11. begin
  12.      for i:=1 to m do
  13.          for j:=1 to n do
  14.              a[i,j]:=random(NRand);
  15. end;
  16.  
  17. procedure OutArray(a:Tarray; m, n:integer);
  18. var i,j:integer;
  19. begin
  20.    for i:=1 to m do
  21.        begin
  22.        for j:=1 to n do
  23.            write(a[i,j],' ');
  24.        writeln;
  25.        end;
  26. end;
  27.  
  28. procedure Swap(var a,b:integer);
  29. var k:integer;
  30. begin
  31.   k:=a;
  32.   a:=b;
  33.   b:=k;
  34. end;
  35.  
  36. Procedure Stroki(var a:Tarray; m,n:integer);
  37. var i,j, k, sum:integer;
  38.  
  39. begin
  40.      sum:=0;
  41.      for i:=1 to m do
  42.          begin
  43.          for j:=1 to n do
  44.              sum:=sum+a[i,j];
  45.          a[i,n+1]:=sum;
  46.          //write('//',sum);
  47.          sum:=0;
  48.          end;
  49. //заполнил в n+1 столбец суммы эл-в строк
  50.  
  51. //сортировочка
  52.  
  53. for i:=n downto 1 do
  54.     for j:=1 to i-1 do
  55.         if (a[j,n+1]>a[j+1,n+1]) then  for k:=1 to n+1 do swap(a[j,k],a[j+1,k]);
  56.  
  57.  
  58. end;
  59.  
  60. Procedure Stolbtsi(var a:Tarray; m,n:integer);
  61. var i, k, j, count:integer;
  62. begin
  63.  
  64.      for i:=1 to n do //взял столбец
  65.               for j:=1 to m do //взял строку
  66.                        if(a[j,i] mod 3 =0) then inc(a[m+1,i]);
  67. // в m+1 строке - колво кратных
  68.  
  69.  
  70. for i:=m downto 1 do
  71.     for j:=1 to i-1 do
  72.         if (a[m+1,j]>a[m+1,j+1]) then  for k:=1 to m+1 do swap(a[k,j],a[k,j+1]);
  73.  
  74. end;
  75.  
  76.  
  77. begin
  78.      read(m, n);
  79.      FillArray(a,m,n);
  80.      outArray(a,m,n);
  81.      writeln('======');
  82.      Stroki(a,m,n);
  83.      Stolbtsi(a,m,n);
  84.          outArray(a,m,n);
  85. end.
Add Comment
Please, Sign In to add comment