Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Whiteblue/MagicSquare: Difference between revisions

From ZeroWiki
imported>Unknown
No edit summary
 
(Repair batch-0008 pages from live compare)
 
Line 1: Line 1:
  #include <iostream>
  #include <iostream>
  using namespace std;
  using namespace std;
  int arr[20][20] = {{0}};
  int arr[20][20] = {{0}};
  int size;
  int size;
   
   
Line 24: Line 24:
  while(count <= size*size)
  while(count <= size*size)
  {
  {
  if ( arr[i][j] == 0)
  if ( arr[i][j] == 0)
  {
  {
  arr[i][j] = count;
  arr[i][j] = count;
  count++;
  count++;
  }
  }
Line 57: Line 57:
  for (int j=0; j<size; j++)
  for (int j=0; j<size; j++)
  {
  {
  cout << arr[j][i] << "\t";
  cout << arr[j][i] << "\t";
  }
  }
  cout << endl;
  cout << endl;
Line 67: Line 67:


[[whiteblue]]
[[whiteblue]]

Latest revision as of 01:40, 27 March 2026

#include <iostream>
using namespace std;
int arr[20][20] = Template:0;
int size;

void magicsquare();
void show ();

int main()
{
	cout << "사이즈를 입력하십시오(홀수만) : ";
	cin >> size;
	magicsquare();
	show ();
	return 0;
}



void magicsquare()
{
	int x = size/2;
	int i = x, j = 0, count = 1;
	while(count <= size*size)
	{
		if ( arr[i][j] == 0)
		{
			arr[i][j] = count;
			count++;
		}
		else
		{
			i ++;
			j ++;
			if ( i == size )
				i = 0;
			if ( j == size )
				j = 0;
			j ++;
			if ( j == size )
				j = 0;
			continue;
		}
		i--;
		j--;
		if (i == -1 )
			i = size-1;
		if (j == -1 )
			j = size-1;
	}
}

void show () 
{
	for (int i=0; i<size; i++) 
	{
		for (int j=0; j<size; j++)
		{
			cout << arr[j][i] << "\t";
		}
		cout << endl;
	}
	cout << endl;
}

whiteblue