Changer valeur parametre

Fermé
vtit - Modifié par baladur13 le 19/02/2016 à 22:36
 Utilisateur anonyme - 20 févr. 2016 à 08:12
Bonjour,
je dois ecrire une fonction qui doit modifier la valeur de 2 de ses parametres.Son prototype est le suivant: void intersection (tableau n1,tableau n2,tableau n3,int t1,int t2 ,int t3).Cette fonction renvoie le nuage de points communs aux nuages n1 et n2
le type tableau permet de representer des nuages de points.Chaque element du tableau est donc un point.
je l'ai defini de la maniere suivante:
typedef struct
{
    float x,y;
}POINT;
typedef struct
{
    POINT t[100];

}TABLEAU;


voici ma fonction intersection:
void intersection(tableau n1,tableau n2,tableau n3,int t1,int t2,int t3)
{
    int f,i;
    f=(t1<=t2?t1:t2);
    t3=0;
     for(i=0;i<t1;i++)
    {
        if(egal(n1.t[i],n2.t[i])==1)
        {
            n3.t[i]=n1.t[i];
            
            t3=t3+1;
        }
    }
}



voici la fonction egal()


int egal(POINT p, POINT q)
{
if((p.x==q.x)&&(p.y==q.y))

return 1;

else
return 0;
}


Comme j'ai dit plus haut, je n'arrive pas a modifier la valeur de n3 et t3 lors de l'appel de la fonction intersection.
Merci d'avance!
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

Utilisateur anonyme
20 févr. 2016 à 08:12
Salut,

Typiquement en C, pour modifier une valeur passée en paramètre, il faut passer les valeurs par pointeur. (Renseigne-toi sur les pointeurs en C)
0