Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. int R1_sudoku(T_sudoku* ps){ /* Applique R1
  2. T_coordonnees cible, tempCoordsDebutRegion;
  3. int cibleLigne, cibleColonne, indiceValeur, tempIndice, tempIndiceRegion, tempIndiceDebutRegion, cibleValeur;
  4. int presenceAffectation = 0;
  5.  
  6. for (int i = 0; i < 81; i++){
  7. int affectation = R1_case(&((*ps).grille[i]));
  8. if (affectation == 1){
  9. presenceAffectation = 1; // le return de la fonction pour sortir
  10.  
  11.  
  12. cible = obtenirCoords(i);
  13. cibleLigne = cible.ligne;
  14. cibleColonne = cible.colonne;
  15. cibleValeur = (*ps).grille[i].val;
  16.  
  17. // changement colonne
  18. for (int z = 0; z < 9; z++){
  19. T_coordonnees temp;
  20. temp.ligne = z;
  21. temp.colonne = cibleColonne;
  22. tempIndice = obtenirIndice(temp);
  23. indiceValeur = rechercherValeur(cibleValeur, (*ps).grille[tempIndice]);
  24. supprimerValeur(indiceValeur, &((*ps).grille[tempIndice]));
  25. }
  26.  
  27. // changement ligne
  28. for (int x = 0; x < 9; x++){
  29. T_coordonnees temp;
  30. temp.ligne = cibleLigne;
  31. temp.colonne = x;
  32. tempIndice = obtenirIndice(temp);
  33. indiceValeur = rechercherValeur(cibleValeur, (*ps).grille[tempIndice]);
  34. supprimerValeur(indiceValeur, &((*ps).grille[tempIndice]));
  35. }
  36.  
  37. // changement region
  38. tempIndiceRegion = indiceRegion(cible);
  39. tempCoordsDebutRegion = debutRegion(tempIndiceRegion);
  40. tempIndiceDebutRegion = obtenirIndice(tempCoordsDebutRegion);
  41. for (int aa = 0; aa < 3; aa++){
  42. for (int bb = 0; bb < 3; bb++){
  43. indiceValeur = rechercherValeur(cibleValeur, (*ps).grille[tempIndiceDebutRegion]);
  44. supprimerValeur(indiceValeur, &((*ps).grille[tempIndiceDebutRegion]));
  45. tempIndiceDebutRegion++;
  46. }
  47. tempIndiceDebutRegion -= 3;
  48. tempCoordsDebutRegion.ligne++;
  49. }
  50. }
  51. }
  52. return presenceAffectation;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement