LaDissertation.com - Dissertations, fiches de lectures, exemples du BAC
Recherche

Le Sudoku

Guide pratique : Le Sudoku. Recherche parmi 300 000+ dissertations

Par   •  15 Avril 2013  •  Guide pratique  •  430 Mots (2 Pages)  •  607 Vues

Page 1 sur 2

Le sudoku se joue a un seul joueur. Le but est de remplir une grille 9  9 avec des chi res

compris entre 1 et 9 en respectant les 3 regles suivantes :

{ Tous les chi res doivent ^etre presents une seule fois sur chaque ligne.

{ Tous les chi res doivent ^etre presents une seule fois sur chaque colonne.

{ Tous les chi res doivent ^etre presents une seule fois sur chaque sous carre.

Le carre 9  9 est constitue de 9 sous carres 3 3. Les fonctions suivantes permettrons a

concevoir un programme structure.

1 Primitives

1. Ecrire la procedure

void charger_grille (int grille[9][9]) permettant a l'utilisateur d'initialiser la

grille.

2. Ecrire la fonction

void affiche(int grille[9][9]) qui ache la grille Sudoku a l'ecran.

3. Ecrire la fonction

int dans_ligne(int grille[9][9], int i, int n) qui prendra la valeur vrai (1) si

le chi re n est deja present dans la i eme ligne de la grille.

4. Ecrire la fonction

int dans_colonne(int grille[9][9], int j, int n) qui prendra la valeur vrai (1)

si le chi re n est deja present dans la jeme colonne de la grille.

5. Ecrire la fonction

int dans_sous_carre(int grille[9][9], int i, int j, int n) qui prendra la va-

leur vrai (1) si le chi re n est deja present dans le sous carre contenant la case [i][j].

6. Ecrire la fonction

void jouer(int grille[9][9], int i, int j,int n) qui remplacera le chi re n dans

la case [i][j] a condition que le nouveau chi re respecte les trois regles mentionnees au-

dessus.

7. Ecrire la fonction

int* chiffres_possibles(int grille[9][9], int i, int j) qui donnera la liste de

tous les chi res permis (ceux qui respectent les 3 regles) pour la case [i][j] .

8. Ecrire la fonction

void seul_chiffre(int grille[9][9]) qui cherchera toutes les cases pour lesquelles

il n'y a qu'un seul chi re permis, ensuite elle a ectera la valeur du chi re dans la case

correspondante.

9. Ecrire la fonction int c_est_fini(int grille[3][3]) qui prendra la valeur 1 s'il ne

reste plus de case libre dans la grille et 0 dans le cas contraire.

1

2 Methode avancee

Cette partie

...

Télécharger au format  txt (2.8 Kb)   pdf (53.9 Kb)   docx (8.8 Kb)  
Voir 1 page de plus »
Uniquement disponible sur LaDissertation.com