Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define MAX 30
- void magic (int N)
- {
- int Array[MAX][MAX]={0};
- int i=N-1;
- int j=N/2;
- Array[i][j]=1;
- for (int k=2; k<=N*N; k++)
- {
- if (Array[(i-2+N)%N][(j-1+N)%N]==0)
- {
- i=(i-2+N)%N;
- j=(j-1+N)%N;
- Array[i][j]=k;
- }
- else
- {
- i=(i-1+N)%N;
- Array[i][j]=k;
- }
- }
- for (int row=0; row<N; row++)
- {
- for (int col=0; col<N; col++)
- {
- printf("%4d",Array[row][col]);
- }
- printf("\n");
- }
- }
- int main ()
- {
- int N;
- printf("Enter an odd integer: ");
- scanf("%d",&N);
- while (N%2==0)
- {
- printf("Please enter an odd integer: ");
- scanf("%d",&N);
- }
- magic(N);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement