Ciao a tutti, dovrei realizzare una programma che simula il sudoku;
per prima cosa creo una matrice bidimensionale 9X9 e poi la riempio con la funzuione:
rand() % 9;
Fin qui tutto bene, i miei problemi arrivano quando devo assicurarmi che in ogni riga/colonna/quadrato di 3X3 non ci siano doppi numeri.

La funzione isValid serve a questo:

codice:
void isValid ( int M[9][9]){
    
    int i, j, key;
    
    for (i=0; i<9; i++){
        
        key = M[i];
        
        for(j=1; j < 9; j++){
        
            if(key == M[j]){
            
            printf("%d ripetuto\n", key);
            return;
            }
        
        }
     
    }

}
La mia idea, per ora controllo solamente la prima riga della matrica, è che memorizzo il primo valore della riga dentro key, e poi tramite il for interno lo contronto con il resto della riga; nel caso lo trovassi dovrei stampare il numero doppio seguito da "ripetuto".
A me invece viene stampato un numero allucintante: 2293268. Tenete presente che i numeri nella matrice vanno da 0 a 9.

Grazie in anticipo