J'ai fait une classe vecteur3d qui permet de renvoyer le vecteur qui a la norme maximum. L'un est passage par référence, l'autre par valeur.
Qu'en pensez vous?
Passage par référence:
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 class vecteur3d { private: float x,y,z; public: vecteur3d(float,float,float); vecteur3d(); int vecteurnormmax(vecteur3d); }; vecteur3d::vecteur3d(){ x=y=z=0;} vecteur3d::vecteur3d(float t,float tt,float ttt){ x=t;y=tt;z=ttt;} int vecteur3d::vecteurnormmax(vecteur3d v){ double norme1= sqrt(x*x+y*y+z*z); double norme2= sqrt(v.x*v.x+v.y*v.y+v.z*v.z); int a=1; if (norme2<norme1) a=2; return a; } void main(){ vecteur3d X(2,1,3); vecteur3d Y(1,4,2); cout<<Y.vecteurnormmax(X); }
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 class vecteur3d { private: float x,y,z; public: vecteur3d(float,float,float); vecteur3d(); int vecteurnormmax(vecteur3d * ); }; vecteur3d::vecteur3d(){ x=y=z=0;} vecteur3d::vecteur3d(float t,float tt,float ttt){ x=t;y=tt;z=ttt;} int vecteur3d::vecteurnormmax(vecteur3d *v){ double norme1= sqrt(this->x*this->x+this->y*this->y+this->z*this->z); double norme2= sqrt(v->x*v->x+v->y*v->y+v->z*v->z); int a=1; if (norme2<norme1) a=2; return a; } void main(){ vecteur3d X(2,1,3); vecteur3d Y(1,4,2); cout<<Y.vecteurnormmax(&X); }
Partager