Probleme pointeur

Résolu/Fermé
jehutyy Messages postés 51 Date d'inscription lundi 5 septembre 2011 Statut Membre Dernière intervention 1 mai 2015 - 13 févr. 2012 à 15:53
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 14 févr. 2012 à 08:07
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

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
13 févr. 2012 à 16:15
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.
0
jehutyy Messages postés 51 Date d'inscription lundi 5 septembre 2011 Statut Membre Dernière intervention 1 mai 2015
13 févr. 2012 à 16:47
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
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
14 févr. 2012 à 08:07
void DessineTerrain(int terrain[2][3], int tailleX, int tailleY);
0