Array non reconnu comme tel par un printf.
Bonjour, je viens solliciter votre aide pour un problème probablement idiot, mais que je m'échine à régler depuis deux heures.
Problème : Je code actuellement un Sudoku (sans interface graphique, uniquement affiché avec des printf), je dois donc avoir recours à des tableaux. J'ai une fonction qui prend en paramètre un tableau à deux dimension de 9 par 9 initialisé à 0, et qui me retourne, normalement, une grille remplie avec des nombres.
Sauf que, lorsque je veux afficher la grille remplie dans mon programme principal, j'ai une erreur à l'endroit de mon printf, qui me dit "error, subscipted value is neither array nor pointer nor vector".
Ma fonction main :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| int main()
{
int grille[9][9];
int j;
int i;
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
printf("%i", grille[i][j]);
}
printf("\n");
}
int grille2;
grille2 = Plateau(grille); #J'appelle la fonction pour remplir la grille, voir ci-dessous
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
printf("%i", grille2[i][j]);
}
printf("\n");
}
} |
Et la fonction qui est sensé me retourner la grille remplie :
Code:
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
| int Plateau(int grille[9][9])
{
int nbrand = rand()%(8)+1;
int i;
int j;
int condition;
int colonne;
int ligne;
int carre;
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
roll:
{
r = rand()%9 + 1;
grille[i][j] = r;
printf("%i", r);
colonne = TestColonne(grille[9][9],i,j);
ligne = TestLigne(grille[9][9],i,j);
carre = TestCarre(grille[9][9],i,j);
if(colonne == 1 || carre == 1 || ligne == 1) #1 signifie que la condition n'est pas remplie et qu'il faut donc relancer le random pour obtenir un autre nombre.
{
goto roll;
}
}
}
}
return grille[9][9];
} |
C'est surement une erreur idiote, mais je suis plus familiarisé avec le python qui est moins embêtant avec les déclarations de variables et leur type. Merci d'avance !