Skip to content

inazense/SudokuSolver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SudokuSolver

Solucionador de Sudokus.

Versión 1.1

Explicación

Programa que solventa sudokus introducidos por el usuario. En la versión actual lee una matriz de 9x9 de enteros como la siguiente:

{ 8, 3, 2, 7, 0, 6, 0, 5, 4 }

{ 0, 6, 5, 0, 3, 8, 7, 9, 2 }

{ 7, 0, 4, 5, 2, 0, 0, 0, 0 }

{ 0, 1, 8, 9, 7, 4, 3, 0, 5 }

{ 9, 4, 0, 2, 8, 5, 6, 0, 0 }

{ 5, 2, 7, 0, 1, 0, 0, 4, 8 }

{ 0, 0, 0, 0, 4, 0, 5, 0, 0 }

{ 0, 0, 0, 0, 0, 9, 0, 0, 3 }

{ 3, 0, 6, 1, 5, 0, 4, 8, 9 }

y trata de resolverla, para posteriormente imprimir el resultado por pantalla o mostrar una advertencia en caso de que no haya podido soluciar el Sudoku.

Cargar sudoku

Si quieres cargar tu propio sudoku, tienes que generar un .csv con valores del 0 al 9 (0 casilla vacía), separado por comas y sin espacios, como se puede ver en el siguiente ejemplo:

8,3,2,7,0,6,0,5,4

0,6,5,0,3,8,7,9,2

7,0,4,5,2,0,0,0,0

0,1,8,9,7,4,3,0,5

9,4,0,2,8,5,6,0,0

5,2,7,0,1,0,0,4,8

0,0,0,0,4,0,5,0,0

0,0,0,0,0,9,0,0,3

3,0,6,1,5,0,4,8,9

Una vez hecho, carga el programa que te preguntará por la ruta del fichero (es indiferente si la escribes absoluta o relativa) y comenzará el proceso de resolución del sudoku.

Funcionamiento

Realiza la siguiente interpretación:

  • 0 = Casilla vacía. Es la que el programa buscará para rellenar su valor
  • De 1 a 9 = Valor fijo preestablecido por el usuario. La leerá para realizaz sus cálculos pero nunca modificará su valor.

La lógica que sigue es la de la aplicación de fuerza bruta. Recorre las casillas editables y comprueba, de 1 a 9, que ese valor encaja con la fila, columan y sección correspondientes. En caso de encajar, avanza hacía la siguiente casilla. Si el número no puede estar en esa posición, incrementamos hasta el valor 9 y, en caso de que tampoco encaje, retrocedemos una casilla incrementando el valor de la misma en uno. Así hasta conseguir completar el sudoku o llegar a la casilla [0,0] de la matriz con un valor superior a 9, lo que signifca la irresolución del sudoku.

About

Solucionador de Sudokus de 9x9

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages