Bonjour,
Je me replonge dans le C++ et les pointeurs car j'aurais besoin de programmer (entre autres...) une fonction qui calcule un produit de matrices. Je me suis replongé dans ce forum et dans les WikiLivres mais je n'ai pas réussi à forger un code sans erreur.
Dans mon programme principal, j'ai déclaré 3 matrices de dimensions fixes:
exemple:
double A[3][3], double B[3][3], double X[3][3];
Imaginons que je veuille faire le produit X=A*B
Comme j'en ai plusieurs de la sorte et que je ne connais pas les classes je voulais appeler une fonction en passant des pointeurs comme paramètres.
L'avantage étant que la fonction manipule directement les bonnes variables.
J'ai essayé quelquechose du genre:
Int main
{
double A[3][3], double B[3][3], double X[3][3];
//ici j'ai initialisé les valeurs de la matrice X à 0 avec une boucle
//ici j'ai défini les valeurs de A et de B
//ici j'appelle la fonction produit selon le schéma que je pensais être bon en tout cas pour des variables double normales
produit(&A,&B,&X);
//je m'attends à avoir dans X le résultat
}
void produit (double *pA[3][3], double *pB[3][3], double *pX[3][3]) //je définis des pointeurs dans la fonction
{
int i,j,k;
//ici je calcule le produit des matrices en utilisant le déréférencement des pointeurs pour manipuler les variables
for (i=0,i<3,i++)
{
for (j=0,j<3,j++)
{
for (k=0,k<3,k++)
{
*pX[i][j]=(*pA[i][k])*(*pB[k][j])+*pX[i][j]
}
}
}
}
Evidemment ce n'est pas bon mais que dois-je faire?
Merci d'avance pour votre aide.
Tzeentch
Configuration: Windows XP
Firefox 2.0.0.2