8queen
---
~cpp
#include<iostream>
#include<ctime>
using namespace std;
void main()
{
//처음에 첫째 줄에 한칸을 잡는다...
// srand(time(0)); // rand()의 시드값을 설정합니다.
// 하지 않으면 실행할때마다 같은값을 만듭니다. -_-;;
// int x = rand(); // rand()함수는 랜덤한 숫자를 리턴하는 함수입니다.
// 리턴하는 숫자의 범위는 0 ~ 무지무지 큰 수 입니다.
// int x1 = rand() % 10; // % 10 연산을 하면 x1 에는 10의 나머지가 될 수 있는
// 0 ~ 9 까지의 숫자가 랜덤하게 들어갑니다.
// int x2 = rand() % 9 + 1; // % 9를 하면 0~9까지의 숫자가 들어갈 수 있고
// 거기에 1을 더하면 1~10 까지의 숫자가 됩니다.
srand(time(0));
//결정하기
int x = rand() % 6 +2;
// do
// {
// int a = rand() % 7
int arr[8][8]=
{
{1,2,3,4,5,6,7,8},
{1,2,3,4,5,6,7,8},
{1,2,3,4,5,6,7,8},
{1,2,3,4,5,6,7,8},
{1,2,3,4,5,6,7,8},
{1,2,3,4,5,6,7,8},
{1,2,3,4,5,6,7,8},
{1,2,3,4,5,6,7,8}
};
//배열안에 숫자는 설정됬고 이젠 x를 이용해서 흠....
//x가 2가 입력 됬다고 생각해보자...
int i,j;
for(i=1; i<9; i++)
{
i==x?arr[0][i-1]=x :arr[0][i-1]=0;
}
for(i=1; i<8; i++)
{
arr[i][x-1]=0;
}
//오른쪽 대각선 수 0 으로 만들기
for(i=1,j=0; x+j<8; i++,j++)
{
arr[i][x+j] = 0;
}
//왼쪽 대각선 수 0 으로 만들기
for(i=1,j=2; x-j==0 ; i++,j++)
{
arr[i][x-j] = 0;
}
for(j=1; j<8; j++)
{
arr[i][x]
//두번째 줄에도 랜덤함수를 생성
do
{
}while(a!=x-1&&a!=x+1)
//두번째 배열에서 대각선 수를 제외하게 만들어 보자...
//그 줄에서 0 이 아닌 칸에 랜덤 함수를 생성하라...
//한줄에 0 이 표시 된후에 하나씩 돌아야 하네..... 흠... 어렵다... ㅡㅜ;;