[an error occurred while processing this directive]
Listing PATRATE.PAS
Program patrate;
uses Crt;
type tabl=array[1..50,1..50] of Word;
var jum,dim,n,i,j,k:Integer;
a:tabl;
procedure afisare(a:tabl; dim:Integer);
var i,j:Integer;
begin
for i:=1 to dim do
begin
for j:=1 to dim do Write(a[i,j]:5);
Writeln
end
end;
Begin
Clrscr;
Writeln('Introduceti numarul de patratele ');
Readln(n);
for i:=1 to 50 do
for j:=1 to 50 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;
k:=k-1;
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;
Readln
End.