Título: ayuda con unos algoritmos de mi SUDOKU en Java :D Publicado por: Legnak en 29 Noviembre 2012, 19:53 pm Hola foreros, he estado haciendo un proyecto que me mandaron de la universidad; un SUDOKU, la verdad ya lo tengo casi terminado, sólo que tengo un gran problema de lógica, he creado funciones para generar las pistas del SUDOKU, para chequear si un número se encuentra en fila o columna y para chequear si se encuentra en un cuadrante, todo funciona de maravilla, le he agregado una función para un nuevo botón llamado "rendirse" y la función que cumple es rellenar las casillas del SUDOKU faltantes y corregir las existentes que no sean parte de las pistas que se cargaron en un principio, el algoritmo me funciona correctamente, sólo que a la hora de cargar la función quedan varias casillas trancadas; es decir, no hay forma de poner ningún número del 1 al 9 porque o está en fila o columna o está en cuadrante y como el valor de la función que busca el valor correcto se inicializa en 0, queda en 0 y ese es el valor que pone,
lo que quiero es que me ayuden a mejorar los algoritmos o darme consejos de como podría hacerlo ya que no veo manera de modificar el algoritmo de tal manera que prevenga esa situación, acá les dejo una imagen: (http://4.imgland.net/FOScb4.png) Funciona así: utiliza dos arreglos bidimensional de 9x9, uno para manejar el SUDOKU y otro para saber en que posiciones se crean las pistas. Código: int size = 9; Código: do esta es la función para saber si existe o no en la fila y la columna Código: public boolean isInFilayColumna(Object [][] filas, int f, int c, int valor) esta es la función para saber si existe o no en el cuadrante Código: public boolean isInCuadrante(Object filas[][], int x, int y, int valor) y esta es la función que me corrige el SUDOKU Código: public void corregir_sudoku(Object filas[][], Object check [][], JTable tabla) Saludos! |