const nmax=30; type matrix = array[1..nmax] of array[1..nmax] of integer; var a,b: matrix; n,i,j: integer; procedure mprint(m: matrix; s: integer); begin for i:=1 to n do begin for j:=1 to n do Write(m[i,j]:4); Writeln; end; end; procedure mtransform(m:matrix; s: integer; var r: matrix); var i,j,t: integer; begin for i := 1 to (s+1 div 2) do begin for j := 1 to (s+1 div 2) do begin r[s-i+1,s-j+1]:=m[i,j]; end; end; end; begin Write('N = '); ReadLn(n); for i:=1 to n do for j:=1 to n do a[i,j] := 1+random(100); mtransform(a,n,b); mprint(a,n); Writeln; mprint(b,n); end. |