와이드용 애드센스


[C++]Magic square Algorithm

  1. #include "pch.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void magic(int n)
  7. {
  8.         const int MaxSize = 51;
  9.         int square[MaxSize][MaxSize], k, l;
  10.  
  11.         if ((> (MaxSize)) || (< 1)) { cerr << "Error! Out of Range!" << endl; return; }
  12.         else if (!(% 2)) { cerr << "Error! n is even" << endl; return; }
  13.  
  14.         for (int i = 0; i < n; i++)
  15.                 for (int j = 0; j < n; j++)
  16.                         square[i][j] = 0;
  17.         square[0][(- 1) / 2] = 1;
  18.  
  19.         int key = 2, i = 0;
  20.         int j = (- 1) / 2;
  21.        
  22.         while (key <= n * n) {
  23.                 if (- 1 < 0)
  24.                         k = n - 1;
  25.                 else
  26.                         k = i - 1;
  27.  
  28.                 if (- 1 < 0)
  29.                         l = n - 1;
  30.                 else
  31.                         l = j - 1;
  32.  
  33.                 if (square[k][l])
  34.                         i = (+ 1) % n;
  35.                 else {
  36.                         i = k;
  37.                         j = l;
  38.                 }
  39.  
  40.                 square[i][j] = key;
  41.                 key++;
  42.         }
  43.  
  44.         cout << "magic square of size" << n << endl;
  45.  
  46.        
  47.         for (int i = 0; i < n; i++) {
  48.                 for (int j = 0; j < n; j++)
  49.                         cout << square[i][j] << " ";
  50.                 cout << endl;
  51.         }
  52. }
  53.  
  54. int main()
  55. {
  56.         magic(5);
  57. }


덧글

댓글 입력 영역



애드센스