fork download
  1. #include <iostream>
  2. #include <iomanip>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.  
  8. int row, col;
  9. int n = 5;
  10. int magic[5][5];
  11.  
  12.  
  13.  
  14. for(int r=0 ; r<n ; r++)
  15.  
  16. {
  17. for(int c=0 ; c<n ; c++)
  18.  
  19. {
  20.  
  21. magic[r][c] = 0;
  22.  
  23. }
  24.  
  25. }
  26.  
  27.  
  28. row = 1;
  29.  
  30. col = (n+1)/2;
  31.  
  32. magic[row - 1][col - 1]=1;
  33.  
  34.  
  35.  
  36. for(int i=2 ; i<=(n*n) ; i++)
  37.  
  38. {
  39.  
  40. row-=1;
  41.  
  42. col-=1;
  43.  
  44. if(row==0 && col==0)
  45. {
  46.  
  47. col++; row+=2;
  48.  
  49. }
  50.  
  51. else if(row==0) row=n;
  52.  
  53. else if(col==0) col=n;
  54.  
  55. else if(magic[row - 1][col - 1]!=0)
  56.  
  57. {
  58.  
  59. col++; row+=2;
  60.  
  61. }
  62.  
  63.  
  64. magic[row - 1][col - 1]=i;
  65.  
  66. }
  67.  
  68.  
  69. for(int Row=4; Row>-1 ; Row--)
  70.  
  71. {
  72.  
  73. for(int Col=4; Col>-1 ; Col--)
  74.  
  75. {
  76.  
  77. cout << setw (5) << magic[Row][Col];
  78.  
  79. }
  80.  
  81. cout<<endl;
  82.  
  83. }
  84.  
  85. return 0;
  86.  
  87. }
Success #stdin #stdout 0s 3096KB
stdin
Standard input is empty
stdout
   11   18   25    2    9
   10   12   19   21    3
    4    6   13   20   22
   23    5    7   14   16
   17   24    1    8   15