Listing: PATRAT.PAS program patrat; type tabl=array[1..100,1..100]of Byte; var jum,dim,n,i,j,k:Integer; a:tabl; f:Text; procedure afisare(a:tabl;dim:Integer); var i,j:Integer; begin Assign(f,'patrat.out'); Rewrite(f); for i:=1 to dim do begin for j:=1 to dim do Write(f,a[i,j],' '); Writeln(f) end; Close(f) end; Begin Assign(f,'patrat.in'); Reset(f); Readln(f,n); Close(f); for i:=1 to 100 do for j:=1 to 100 do a[i,j]:=1; if n mod 2=0 then begin dim:=n div 2; k:=1; for i:=1 to dim do begin Inc(k); a[i,dim]:=k end; Dec(k); for i:=1 to dim do begin Inc(k); a[dim,i]:=k end; afisare(a,dim) end else begin dim:=n-3; jum:=dim div 2; for i:=1 to jum do for j:=jum+1 to dim do a[j,i]:=2; for i:=jum+1 to dim do for j:=1 to jum do a[j,i]:=3; for i:=jum+1 to dim-1 do for j:=jum+1 to dim-1 do a[i,j]:=4; k:=4; for i:=jum+1 to dim do begin Inc(k); a[i,dim]:=k end; for i:=jum+1 to dim-1 do begin Inc(k); a[dim,i]:=k end; afisare(a,dim) end End. [cuprins] |