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
<pre lang='java'>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