Probleme pointeur

Résolu
Bonjour,

J'ai un petit probleme dans une programme, ou plutot je ne comprend pas mon erreur.
J'ai écris un programme qui déclare un tableau et 2 dimensions remplit de 0 et de 1, et une fonction qui permet de mettre à 1 l'élement à l'indice désigné.
Mais bien sur ça ne marche pas, je vous met le code dite moi ce que vous en pensez.

#include <stdio.h>
#include <stdlib.h>

void DessineTerrain(int *terrain, int tailleX, int tailleY);
void valeur(int *tableau, int indice);

int main()
{
int tab[2][3]={0};
//fin initialisation du tableaux
DessineTerrain(&tab, 2, 3);
printf("\n");
valeur(&tab, 0)
DessineTerrain(&tab, 2, 3);
return 0;
}

void DessineTerrain(int *terrain, int tailleX, int tailleY){
int i;
for(i=0; i<tailleX*tailleY ;i++)
{
printf("%d, ", terrain[i]);
}
}

void valeur(int *tableau, int indice){ //permet de changer la valeur à l'indice donné
if(tableau[indice]==0) tableau[indice]==1;
if(tableau[indice]==1) tableau[indice]==0;
}

2 réponses

  1. Contributeur
    Houolà !
    mélanger pointeur et tableau c'est pas bien.
    En 1D ça passe grace à une équivalence, mais en 2D non.
    surtout en passant &tab au lieu de tab.
    1. Ah d'accord bon ba deja ça je savais pas, donc vaut mieux passer un tableau 2d en paramatre plutot qu'un pointeur?
      Si oui, comment faut t'il faire?

      cordialement
      jehutyy
      1. Contributeur
        void DessineTerrain(int terrain[2][3], int tailleX, int tailleY);