1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| /*****************************************************/
/* FONCTION : RESOUD LA GRILLE */
/*****************************************************/
void GenerateGrille(int grille[][taille])
{
int ligne, colonne, nb;
for(ligne = 0; ligne < taille; ligne++) // Parcourt les lignes du tableau
{
for(colonne = 0; colonne < taille; colonne++) // Parcourt les colonnes du tableau
{
if (grille[ligne][colonne] == 0) // Si la case est vide...
{
for (nb = 1; nb <= taille; nb++) // On remplit la grille avec un nombre de 1 à 9
{
if(Colonne(grille, nb, ligne, colonne) != false && Ligne(grille, nb, ligne, colonne) != false) // Vérifie que le nombre n'est pas déjà dans la ligne ou la colonne
{
grille[ligne][colonne] = nb; // La case reçoit le nombre
nb = taille + 1; // Pour sortir de la boucle
}
}
}
}
}
}
bool Ligne(int grille[][taille], int nb, int ligne, int colonne)
{
int j;
bool trouve;
trouve = true;
for(j=0; j<taille; j++)
{
if(nb == grille[ligne][j])
{
if(j != colonne)
{
trouve = false;
j = taille;
}
}
}
return(trouve);
}
bool Colonne(int grille[][taille], int nb, int ligne, int colonne)
{
int i;
bool trouve;
trouve = true;
for(i=0; i<taille; i++)
{
if(nb == grille[i][colonne])
{
if(i != ligne)
{
trouve = false;
i = taille;
}
}
}
return(trouve);
} |
Partager