Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAX 30
  4.  
  5. void magic (int N)
  6. {
  7.     int Array[MAX][MAX]={0};
  8.     int i=N-1;
  9.     int j=N/2;
  10.     Array[i][j]=1;
  11.     for (int k=2; k<=N*N; k++)
  12.     {
  13.         if (Array[(i-2+N)%N][(j-1+N)%N]==0)
  14.         {
  15.             i=(i-2+N)%N;
  16.             j=(j-1+N)%N;
  17.             Array[i][j]=k;
  18.         }
  19.         else
  20.         {
  21.             i=(i-1+N)%N;
  22.             Array[i][j]=k;
  23.         }
  24.     }
  25.    
  26.     for (int row=0; row<N; row++)
  27.     {
  28.         for (int col=0; col<N; col++)
  29.         {
  30.             printf("%4d",Array[row][col]);
  31.         }
  32.         printf("\n");
  33.     }
  34. }
  35.  
  36. int main ()
  37. {
  38.     int N;
  39.     printf("Enter an odd integer: ");
  40.     scanf("%d",&N);
  41.     while (N%2==0)
  42.     {
  43.         printf("Please enter an odd integer: ");
  44.         scanf("%d",&N);
  45.     }
  46.    
  47.     magic(N);
  48.    
  49.     system("pause");
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement