1. 程式人生 > >【數獨個人專案】SudokuPuzzle類的編碼

【數獨個人專案】SudokuPuzzle類的編碼

4. 實現階段

SudokuPuzzle類中SolveAll()的函式流程圖

ConsolePuzzle類的編碼

和流程圖中一樣,需要從檔案解所有數獨時呼叫SolveAll()函式,先判斷是否開啟檔案成功,不成功返回-2

然後函式先呼叫GetNextPuzzle(),從檔案中讀81個0~9字元,作為一個數獨題儲存至puzzle[][]

如果檔案中剩餘的0~9字元不足81個,則break出迴圈,函式結束,返回可解的數獨題的個數

如果讀了81個字元,則接著呼叫SolveCurrentPuzzle()函式,此函式先判斷輸入的數獨題是不是本身矛盾,若矛盾,無解處理

如果確實題目沒錯,則呼叫dfs_solve(1)函式,回溯求解數獨,然後又回到while的開始,接著呼叫GetNextPuzzle()從檔案中讀取數獨。

ConsolePuzzle類的程式碼分析

這回因為有了前兩次的經驗,程式碼分析直接通過了,沒有任何警告,可喜可賀