#include <iostream.h>
int main()
{
int magic[100][100];
int i, j, n, x, y;
for ( i=0 ; i<100; i++ )
for ( j=0 ; j<100 ; j++ )
magic[i][j] = 0;
cout << "Enter value for n (odd only): ";
cin >> n;
x = 0 ; y = (n-1) / 2;
magic[x][y] = 1;
for ( i=2 ; i <= n*n ; i++ )
{
x--; y++;
if ( x < 0 && y == n )
{
x = x + 2;
y--;
}
if ( x < 0 ) { x = n - 1; }
if ( y >= n ) { y = 0; }
if ( magic[x][y] != 0 )
{
x = x + 2;
y = y - 1;
}
magic[x][y] = i;
}
for ( i = 0 ; i < n ; i++ )
{
for ( j = 0 ; j < n ; j++ )
{
cout << magic[i][j] << "\t";
}
cout << endl;
}
return 0;
}