hola gente estoi aprendiendo a programar en java , y tengo que implementar el juego del sudoku ,pero me e quedado atascado.A la ora de insertar un elemento compruebo q ese elemento no esta en la fila q lo quiero insertar , ni en la columna , ni en el subcuadro correspondiente ,e aqui mi duda,como puedo saber donde empieza el subcuadro (son conocidas la longitud de los subcuadros) ,nose si me explico.
yo lo intente de esta forma
private boolean comprobarSubTableros(int fila,int columna,int elemento ){ boolean existe=false; int posIniX=fila-(fila%subTableroX);//calculo la posicion inicial del subtablero en la fila int posIniY=columna-(columna%subTableroY);//posicion inicial del subtablero en la columna //recorremos el subtablero en busca de algun elemento repetido for(int h=posIniX;h<posIniX+subTableroX;h++ ) for(int n=posIniY;n<posIniY+subTableroY;n++){ if(tablero[h][n])==elemento) existe=true ; } return existe; }
subTableroX es el numero de filas q tien el subtanblero es decir su longitud y es conocido
el problema es que si la fila es 1 y el subtableroX vale 3 el modulo 1%3 deberia ser 1 lo cual deberia funcionar pero me da error seguramente xq el dividendo es menor q el divisor y asi estamos q nose como calcular la posicon del subtablero