Friday 25 October 2013

Magic Square

/*A Magic Square is a square whose sum of diagonal elements, row elements and coloumnelements is the same*/
import java.io.*;
class MagicSquare
{
public static void main(String args[])throws Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("enter the dimension of magical square=");
int n = Integer.parseInt(br.readLine());//accepting dimensions
int arr[][]=new int[n][n],c=n/2-1,r=1,num;
for(num=1;num<=n*n;num++)//loop for finding magic square elements
{
r--;c++;
if(r==-1)
r=n-1;
if(c>n-1)
c=0;
if(arr[r][c]!=0)
{r=r+2;c--;}
arr[r][c]=num;
if(r==0&&c==0)
{r=n-1;c=1;arr[r][c]=++num;}
if(c==n-1&&r==0)
arr[++r][c]=++num;
}
System.out.println();
for(r=0;r<n;r++)//loop displaying magic square
{
for(c=0;c<n;c++)
System.out.print(arr[r][c]+" ");
System.out.println();
}

}
}

No comments:

Post a Comment