Puedes hacer una funcion que te verifique un numero y con esta verificas el tablero entero...
A esta funcion le pasa como parametro un numero y la funcion va a verificar la fila y la columna que lo intersecta, si en la fila no esta el mismo numero, entonces pasa a la columna y si no esta entonces lo puedes ingresar, sino entonces te da el error...
Te dire la explicacion:
Creas una funcion que genere la matriz de 9x9 que es tu zudoku.
Haces la funcion que verifique un numero, como?
Bueno:
Código C++:
Ver originalbool verificarNumero(int x, int y){//x, y son las coordenadas del numero en la matriz
/*aqui comparas ese numero con la fila y la columna que se intersectan donde colocaste el numero si en la fila o en la columna se encuentra ese numero, entonces no va alli y da el error*/
}
Luego creas la funcion que verifique el tablero completo
esta es un poco mas compleja pero puedes reciclar codigo, como creaste una funcion que te verifica un numero, lo que haras es llamarla dentro de esta....
Explicacion:
Código C++:
Ver originalvoid verificarTablero(){
//hacemos un for anidado que recorra todo el tablero
for(int i = 0; i<9;i++){
for(j=0;j<9;j++){
//y aqui llamamos a la funcion
if(!verificarNumero(i, j)){
cout<<"No fue bien llenado";
break;//y paramos el ciclo;
}
}
}
}
Si mal no recuerdo deberias parar tambien el primer for ya que seguira bucando, no recuerdo, pero asi es mas facil.... jejeje!! espero haberte podido ayudar... Saludos