From b7217dc8779b7c98468bb431da72ce36571fa9f4 Mon Sep 17 00:00:00 2001 From: Trianta <56975502+Trimutex@users.noreply.github.com> Date: Sat, 21 Oct 2023 17:03:59 -0500 Subject: [PATCH] Preparation work --- src/CMakeLists.txt | 2 +- src/sudoku.cpp | 48 +++++++++++++++++++++++++++++++++++++++---- src/sudoku.hpp | 21 +++++++++++++++++++ src/sudoku_solver.cpp | 5 +++++ 4 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 src/sudoku.hpp create mode 100644 src/sudoku_solver.cpp 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; +}