Vous êtes sur la page 1sur 2

Devoir not n2

19 dcembre 2014

Exercice 2
Le produit scalaire de deux vecteurs V1 et V2 est dni par

V1 V2 =

d
X

V1j V2j

(1)

j=1

o j dsigne une composante des vecteurs si elle existe (1 x, 2 y , 3 z ), et d la dimension


du vecteur. Le produit vectoriel est dni par

V1 V2 = (V1y V2z V1z V2y ) i + (V1z V2x V1x V2z ) j + (V1x V2y V1y V2x ) k

(2)

On demande d'crire un programme vecteurs.cc qui calcule le produit scalaire et le produit


vectoriel de deux vecteurs implment au moyen de tableaux dynamiques. Le programme devra
utiliser :
 deux variables de type tableau dynamique de rels ;
 deux fonctions qui calculent les produits scalaire et vectoriel, de prototypes

double scalaire(vector<double> v1, vector<double> v2);


vector<double> vectoriel(vector<double> v1, vector<double> v2);
Le programme doit
1. demander l'utilisateur la dimension des deux vecteurs en n'acceptant que les valeurs 1, 2
ou 3 (le programme doit redemander la valeur si cette condition n'est pas vrie) ;
2. demander les composantes des deux vecteurs ;
3. appeler les deux fonctions et acher les rsultats
Si la dimension d des deux vecteurs est 1, seul le produit scalaire sera calcul et ach. Si d = 2, le
produit vectoriel sera calcul en considrant que les troisimes composantes des deux vecteurs sont
gales 0. La gure 1 ci-dessous, montre un exemple de droulement du programme vecteurs.cc

Pour les astucieux

La manire vidente de calculer les composantes du vecteur produit vectoriel


est d'utiliser trois instructions. En examinant les composantes de la formule (2), on remarque que
les deux dernires composantes se dduisent de la premire par permutation circulaire (x y ,
y z , z x ) ou encore (1 2, 2 3, 3 1). En vous aidant de cette proprit, essayez
de calculer les composantes l'aide d'une seule instruction place dans une boucle. (indication :
pour retrouver la composante 1 aprs la composante 3 on peut s'aider de la fonction modulo qui
donne le reste d'une division par un nombre ; en C++ l'instruction s'crit l'aide de l'oprateur
%).

Figure 1  Exemple de droulement de programme

Vous aimerez peut-être aussi