bonjour,je suis en train de coder un programme qui resoud un sudoku en recursif et je bloque sur la fonction valeur qui affecte une valeur a une case vide tout en verifiant qu'elle est unique.voici mon code pour le moment. je precise que je le fais pour le moment sur un tableau a 1 dimension et a 9 case
Code:public static int[] init() { int[] grille = new int[9]; int val = 0; int x = 0; for(int i = 0;i < 2 ;i++) { x =(int)(Math.random() * ((9))); val = 1 +(int)(Math.random() * ((8))+1); grille[x] =val; } return grille; } public static int[] play(int[] tableau,int indice) { if(indice == tableau.length) { return tableau; } else if(tableau[indice] == 0) { tableau[indice] = 1; tableau[indice] = valeur(tableau,indice,0); return play(tableau,indice + 1); } else { return play(tableau,indice + 1); } } public static int valeur(int[] tableau,int indicevaleur,int indice) { if(indice == tableau.length) { return tableau[indicevaleur]; } else if(tableau[indice] != 0 && indice != indicevaleur && tableau[indicevaleur] == tableau[indice]) { tableau[indicevaleur] += 1 ; return valeur(tableau,indicevaleur,indice + 1); } else { return valeur(tableau,indicevaleur,indice + 1); } }
-----