diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index aa7da15..894bf98 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,5 @@ add_executable(sudoku + ./sudoku_solver.cpp ./sudoku.cpp ) -target_include_directories(sudoku PUBLIC ${CMAKE_CURRENT_LIST_DIR}) diff --git a/src/sudoku.cpp b/src/sudoku.cpp index 9294f97..4911f30 100644 --- a/src/sudoku.cpp +++ b/src/sudoku.cpp @@ -1,7 +1,47 @@ +#include "sudoku.hpp" +#include #include +#include + + +Sudoku::Sudoku(void) { + board.resize(9, std::vector(9, -1)); +} + +void Sudoku::FillBoard(std::string filePath) { + std::ifstream sudokuFile(filePath); + if (!sudokuFile) { + std::cerr << "Error opening file: " << filePath << std::endl; + exit(1); + } + std::string line; + while (!sudokuFile.eof()) { + sudokuFile >> line; + std::cout << line << std::endl; + } + +} + +void Sudoku::Solve(void) { + +} + +bool Sudoku::IsBoardSolved(void) { + return true; +} + +bool Sudoku::IsRowComplete(int row) { + return true; +} + +bool Sudoku::IsColumnComplete(int column) { + return true; +} + +std::vector Sudoku::GetUnusedInRow(int row) { + +} + +std::vector Sudoku::GetUnusedInColumn(int column) { -int main(void) { - std::cout << "Sudoku started" << std::endl; - std::cout << "Sudoku ended" << std::endl; - return 0; } diff --git a/src/sudoku.hpp b/src/sudoku.hpp new file mode 100644 index 0000000..5bb8552 --- /dev/null +++ b/src/sudoku.hpp @@ -0,0 +1,21 @@ +#ifndef SUDOKU_HPP +#define SUDOKU_HPP + +#include +#include + +class Sudoku { +public: + Sudoku(void); + std::vector< std::vector > board; + void FillBoard(std::string filePath); + void Solve(void); + bool IsBoardSolved(void); +private: + bool IsRowComplete(int row); + bool IsColumnComplete(int column); + std::vector GetUnusedInRow(int row); + std::vector GetUnusedInColumn(int column); +}; + +#endif diff --git a/src/sudoku_solver.cpp b/src/sudoku_solver.cpp new file mode 100644 index 0000000..a325153 --- /dev/null +++ b/src/sudoku_solver.cpp @@ -0,0 +1,5 @@ +#include "sudoku.hpp" + +int main(void) { + return 0; +}