Probleme pointeur
Résolu
jehutyy
Messages postés
57
Statut
Membre
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
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;
}
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
-
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. -
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