The Sudoku Solver is a C++ application developed as a self-learning project during my first year of studies in Software Engineering. It takes a 9x9 Sudoku grid as input and solves it, displaying the solved Sudoku grid on the screen.
This project was undertaken as an opportunity to enhance programming skills and gain practical experience in problem-solving and algorithm implementation. By building a Sudoku solver, I aimed to deepen my understanding of data structures, algorithms, and software development practices.
-
Clone the repository to your local machine: git clone https://github.com/NadavIs56/Sudoku-Solver.git
-
Navigate to the project directory: cd sudoku-solver
-
Build the application using a C++ compiler: g++ Driver.cpp -o sudoku
-
Run the application: ./sudoku
-
Enter the Sudoku puzzle:
- Provide 9 lines of input, each containing 9 digits separated by a space.
- Press enter after each line.
For example:
5 3 0 0 7 0 0 0 0
6 0 0 1 9 5 0 0 0
0 9 8 0 0 0 0 6 0
8 0 0 0 6 0 0 0 3
4 0 0 8 0 3 0 0 1
7 0 0 0 2 0 0 0 6
0 6 0 0 0 0 2 8 0
0 0 0 4 1 9 0 0 5
0 0 0 0 8 0 0 7 9
- The application will solve the Sudoku puzzle and display the solved grid on the screen:
5 3 4 6 7 8 9 1 2
6 7 2 1 9 5 3 4 8
1 9 8 3 4 2 5 6 7
8 5 9 7 6 1 4 2 3
4 2 6 8 5 3 7 9 1
7 1 3 9 2 4 8 5 6
9 6 1 5 3 7 2 8 4
2 8 7 4 1 9 6 3 5
3 4 5 2 8 6 1 7 9
While this Sudoku Solver project serves as a solid foundation for solving Sudoku puzzles, there are several potential areas for future improvement and expansion:
- Graphical user interface (GUI): Enhance the application by incorporating a GUI to provide a more user-friendly experience.
- Generate Sudoku puzzles: Extend the project to include a puzzle generator that can create Sudoku puzzles of varying difficulty levels.
- Solve puzzles step-by-step: Implement a feature that allows users to see the solving process step-by-step, helping them understand the logic behind each move.
If you have any ideas, improvements, or bug fixes, please submit a pull request. Your contributions can help enhance the project and make it even more valuable for learners and Sudoku enthusiasts.