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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !