int compte_occurence_ligne(sudoku s, int ligne, int val, int *colonne) { int cpt=0,i; for(i=(ligne-1)*9;i<(ligne*9);i++) /* Pour chaque case de la ligne */ { if(recherche_element(s->grille[i].nb_candidats,val,s->grille[i].candidat)!=9) /* Si val est candidat */ { cpt++; if(cpt==1) /* Si c'est la premiere fois que val est candidat */ *colonne=(i%9+1); } } return cpt; } int compte_occurence_colonne(sudoku s, int colonne, int val, int *ligne) { int cpt=0,i; for(i=colonne-1;igrille[i].nb_candidats,val,s->grille[i].candidat)!=9) /* Si val est candidat */ { cpt++; if(cpt==1) *ligne=(i/9)+1; /* On note sa position dans la colonne */ } } return cpt; }