Question: Objectives: Interact with a 2D array Utilize smart pointers to directly manipulate memory. Problem: Sudoku continues to be one of the most popular puzzles. Its

Objectives: Interact with a 2D array Utilize smart pointers to directly manipulate memory. Problem: Sudoku continues to be one of the most popular puzzles. Its simple design and challenging logic has made it a hit amongst those that are not quite as good at memorizing words and definitions. The compact design of the puzzle also makes it easy to validate a correct solution. Your task is to create a program to validate a correct Sudoku solution.

Details:

Sudoku puzzles are created in a 9x9 grid.

Each row must contain each number 1-9

. Each column must contain each number 1-9.

Each row and column is divided in thirds to create 9 3x3 grids

. o Each 3x3 grid must contain each number 1-9.

If any of the above contain a duplicate number, the solution is invalid.

Each puzzle may contain numbers and blank spaces

o A blank space will be displayed as a space character

The puzzles may not be solved o If the puzzle has spaces, the puzzle is not solved

o Determine if the numbers given are part of a possible solution

All array manipulation must be done using smart pointers. (-10 points)

All pointer movement must be done using pointer arithmetic (-10 points)

Any arrays used must be created dynamically.

o Dynamic 2D arrays can be created with double pointers or created as a long single dimension array

Comment your code generously. Refer to the grading rubric for more details.

Use as few variables as possible. Dont waste memory holding a calculation just so you can print it out one time

. User Interface: There will be no user interface for this program. All I/O will be file based.

Input:

All input will be in a file named puzzles.txt

The file may contain multiple puzzles Each puzzle will be numbered

The puzzles will be formatted as follows: o Puzzle number on a line by itself integer value o Sudoku puzzle 9 lines of numbers and spaces

A space is not a delimiter

A space just means there is no value in that block of the puzzle

All numbers will be single digits (1-9) o Newline

There may or may not be a newline after the last puzzle in the file

Output:

All output will be written to a file named solutions.txt.

Create a table with three columns o Puzzle number o Valid/invalid/solved o Reason puzzle is invalid (if applicable)

Example: column 2 has two 5s

Example: Upper middle grid has two 7s

A puzzle is solved if it is valid and there are no spaces in the puzzle

Each puzzle validation will be listed on a separate line

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!