Coders Packet

Magic Square in C++

By Prateek Saini

A square matrix (usually positive integers) with the sum of each row, column, and both main diagonals being the same is called a magic square. This is a C++ project.

Fact: The Magic Number(M) is the sum of each row, column, and both main diagonals.

M= n(n^2+1)/2: where n is the size of the square matrix

Algorithm:

Step 1. The position of 1 is fixed at (n/2,n-1) in a magic square. Let this position be (p,q).

Step 2. The number 2 will be placed at (p-1,q+1) position. Whenever row position becomes -1 then change it to n-1 and if column position becomes n then change it to 0.

Step 3. If the calculated position is already occupied by a number then decrement the column by 2 and increment the row by 1.

Step 4. Whenever the row position becomes -1 and the column position becomes n, change it to (0,n-2).

Note: Magic Square works best with odd size square matrix.

Download Complete Code

Comments

No comments yet

Download Packet

Reviews Report

Submitted by Prateek Saini (Prateek)

Download packets of source code on Coders Packet