8queen --- {{{~cpp #include #include 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 이 표시 된후에 하나씩 돌아야 하네..... 흠... 어렵다... ㅡㅜ;; }}} ---- [EightQueenProblem] [손동일]