{
int i, j ;
double som ;
vect res ; // pour le résultat du produit
for (i=0 ; i<3 ; i++)
{ for (j=0, som=0 ; j<3 ; j++)
som += m.mat[i] [j] * x.v[j] ;
res.v[i] = som ;
}
return res ;
}
Notez que cette fonction crée un objet automatique res de classe vect. Il ne peut donc
être renvoyé que par valeur. Dans le cas contraire, la fonction appelante récupérerait
l’adresse d’un emplacement libéré au moment de la sortie de la fonction.
Voici, enfin, un exemple de programme de test, accompagné de son résultat :
#include "vect1.h"
#include "mat1.h"
main()
{ vect w (1,2,3) ;
vect res ;
double tb [3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 } ;
matrice a = tb ;
res = prod(a, w) ;
res.affiche () ;
}
14 32 50
194
Précédent

- 195/398

Suivant