salam een Morabae Jadooeye be zabane Pascal
jaye semi colon hasho khodet dorost kon chon too mororgar man dorost nemishe
program msquare;
const
MAX_SIZE=15;
var
square:array[1..MAX_SIZE,1..MAX_SIZE] of integer;
i,j,row,column,sum:integer;
count:integer;
size:integer;
BEGIN
sum:=0;
writeln;
write('Enter the size of the square:');
readln(size);
if ((size<1) or (size>MAX_SIZE)) then
begin
writeln('Error! size is out of range.');
readln;
exit;
end;
if not ((size mod 2<>0)) then
begin
writeln('Error! size is even.');
readln;
exit;
end;
for i:=1 to size do
for j:=1 to size do
square[i,j]:=0 ;
square[1,trunc((size+1)/2)]:=1;
i:=1;
j:=trunc((size+1)/2);
for count:=2 to size*size do
begin
if (i-1=0) then
row:=size
else
row:=i-1;
if (j-1=0) then
column:=size
else
column:=j-1;
if (square[row,column]<>0) then
i:=i+1
else
begin
i:=row;
if (j-1=0) then
j:=size
else
j:=j-1;
end;
square[i,j]:=count;
end;
writeln('Magic square of size ',size,': ');
writeln;
for i:=1 to size do
begin
for j:=1 to size do
write(square[i,j]:4);
writeln;
writeln;
end;
writeln;
for i:=1 to size do
sum:=sum+square[i,1];
writeln('The sum of any ( row,column and diameter ) is : ',sum);
writeln;
write('Press Enter to Exit ...');
readln;
end.