Bonjour,
Je me suis remis récemment au C++, et j'ai quelques soucis avec le passage en argument des tableaux.
Pour résumer je code un classe Matrice, qui effectue un stockage creux, et j'ai un problème dans la fonction membre qui effectue le produit de cette matrice par un vecteur (tableau de double).
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 void MATRICE::mult(const double * xx, double * vv) { int ii,j; double valx; /*for(ii=0;ii<10;ii++) { cout<<xx[ii]<<" "; } cout<<endl;*/ for(j=0 ; j<n ; j++,vv++) *vv=0; for(j=0;j<n;j++) { valx = xx[j]; for(ii=tableau_p[j]; ii<tableau_p[j+1];ii++) { vv[tableau_i[ii]]+= valx * tableau_valeur[ii]; } } /* for(ii=0;ii<10;ii++) { cout<<xx[ii]<<" "; }*/ }
Le problème est que mon tableau xx est modifié entre les deux affichages (qui sont commentés ici). Je ne vois pas trop pourquoi...
Partager