online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
/* 黃春福老師 暴力 */ # include <iostream> # define N 8 using namespace std; int queen[N]; int queen_ok(int i); void N_Queen(int i); int main() { N_Queen(0); // 由皇后0 開始放置 system("pause"); } void N_Queen(int i) { int k, q; if (i == N) // 若i==N, 表示已放置完N 個皇后(0, 1, …, N-1) { for (k = 1; k <= N-1; k++) // 檢查所有皇后是否互殺 if ( ! queen_ok(k) ) break; if (k == N) // 找到一個正解, 顯示答案(N 個皇后之位置) { for (q = 0; q < N; q++) cout << queen[q] << " "; cout << "\n"; } } else // 放置第i 個皇后 { for (q = 0; q < N; q++) // 一一嚐試將皇后i 放在各個可能位置 { queen[i] = q; // 嚐試將皇后i 放在位置q N_Queen(i+1); // 繼續放置下一個皇后 } } } int queen_ok(int i) // 檢查皇后i 是否會殺到前面的皇后(0, 1, …, i-1) { int k, ok; k = 0; ok = 1; while ( (k < i) && (ok == 1) ) { if ( (queen[i] == queen[k]) || (abs(queen[i]-queen[k]) == (i-k)) ) ok = 0; k = k+1; } return ok; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue