Bonsoir,
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:
voici ma fonction intersection:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 typedef struct { float x,y; }POINT; typedef struct { POINT t[100]; }TABLEAU;
voici la fonction egal()
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 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<f;i++) { if(egal(n1.t[i],n2.t[i])==1) { n3.t[i]=n1.t[i]; t3=t3+1; } } }
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int egal(POINT p, POINT q) { if((p.x==q.x)&&(p.y==q.y)) return 1; else return 0; }
Merci d'avance!
Partager