Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //m строк n столбцов
- const NMax=100;
- NRand=10;
- Type TArray = array[1..NMax, 1..NMax] of integer;
- var a:TArray;
- m,n:integer;
- procedure FillArray(var a:Tarray;m,n:integer);
- var i,j:integer;
- begin
- for i:=1 to m do
- for j:=1 to n do
- a[i,j]:=random(NRand);
- end;
- procedure OutArray(a:Tarray; m, n:integer);
- var i,j:integer;
- begin
- for i:=1 to m do
- begin
- for j:=1 to n do
- write(a[i,j],' ');
- writeln;
- end;
- end;
- procedure Swap(var a,b:integer);
- var k:integer;
- begin
- k:=a;
- a:=b;
- b:=k;
- end;
- Procedure Stroki(var a:Tarray; m,n:integer);
- var i,j, k, sum:integer;
- begin
- sum:=0;
- for i:=1 to m do
- begin
- for j:=1 to n do
- sum:=sum+a[i,j];
- a[i,n+1]:=sum;
- //write('//',sum);
- sum:=0;
- end;
- //заполнил в n+1 столбец суммы эл-в строк
- //сортировочка
- for i:=n downto 1 do
- for j:=1 to i-1 do
- 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]);
- end;
- Procedure Stolbtsi(var a:Tarray; m,n:integer);
- var i, k, j, count:integer;
- begin
- for i:=1 to n do //взял столбец
- for j:=1 to m do //взял строку
- if(a[j,i] mod 3 =0) then inc(a[m+1,i]);
- // в m+1 строке - колво кратных
- for i:=m downto 1 do
- for j:=1 to i-1 do
- 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]);
- end;
- begin
- read(m, n);
- FillArray(a,m,n);
- outArray(a,m,n);
- writeln('======');
- Stroki(a,m,n);
- Stolbtsi(a,m,n);
- outArray(a,m,n);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement