Bonjour,

je me suis recemment lancé dans le c grace au tutos de ce site (clap clap au passage).

Et je me heurte à un petit problème qui en est un gros pour moi.

Alors en fait, j'ai une fonction dont voici le prototype:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
void placer(int pointeurSurChiffreCode[2][4], int pointeurSurPropositionCode[2][4], long *pointeurSurBonnePlace, long *pointeurSurPasBonnePlace, long *pointeurSurInGame);

Mon problème est que cette fonction travaille sur des tableau de dimension 2 (chiffreCode et propositionCode seulement, le reste sont des variables classiques de type long).

J'ai essayé plusieurs chose pour que cette fonction ne provoque pas d'erreur à la compilation, et qui plus est, fonctionne, en vain.

Pour le moment, j'utilise ça, mais ça ne marche po :'(

Appel à la fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
placer(&chiffreCode, &propositionCode, &bonnePlace, &pasBonnePlace, &in_game);

Utilisation des variables dans la fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
pointeurSurChiffreCode[1][i]

Voilà, j'espère avoir été clair. Un petit peu d'aide serait chouette.

Je met la fonction aussi si ça peu aider:
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
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
 
void placer(int pointeurSurChiffreCode[2][4], int pointeurSurPropositionCode[2][4], long *pointeurSurBonnePlace, long *pointeurSurPasBonnePlace, long *pointeurSurInGame)
{
        //Compteur de bien placés/mal placés - Début
        i = 0;
        j = 0;
        k = 0;
 
        //Boucle pour les bien placés - début
        while (i<4)
        {
                *pointeurSurBonnePlace = 0;
                //On met à zero toutes les valeurs
                pointeurSurChiffreCode[1][i] = 0;       
                for (i=0;i<4;i++)
                {
                        if (pointeurSurPropositionCode[0][i] == pointeurSurChiffreCode[0][i])
                        {
                        *pointeurSurBonnePlace++;
                        pointeurSurChiffreCode[1][i] = 1;
                        pointeurSurPropositionCode[1][i] = 1;
                        }
                }       
        }
        // Boucle pour compter les biens placés - fin
        // Comparaison de fin de jeu et compter les mals placés - debut
        if (*pointeurSurBonnePlace == 4)
        {
                *pointeurSurInGame=2;
        }
        if (*pointeurSurInGame == 2)
        {
                *pointeurSurPasBonnePlace = 0;
        }
        // Comparaison de fin de jeu - fin
        //compter les mals placés - debut
        else
        {
                while (j<4)
                {
                        *pointeurSurPasBonnePlace = 0;
                        for (j=0;j<4;j++)
                        {
                                for (k=0;k<4;k++)
                                {
                                        if ((pointeurSurPropositionCode[0][j] == pointeurSurChiffreCode[0][k]) && (pointeurSurPropositionCode[1][j] == 0) && (pointeurSurChiffreCode[1][k] == 0))
                                        {
                                                *pointeurSurPasBonnePlace++;
                                                pointeurSurPropositionCode[1][j] = 1;
                                                pointeurSurChiffreCode[1][k] = 1;
                                        }
                                }
                        }
                }
        }
        // compter les mals placés - fin
        //Compteur de bien placés/mal placés - Fin
}
Vi vi, je fait un mastermind (je débute j'ai dit )