Bonjour à tous,
J'ai fait une classe matrice et j'ai surchargé l'opérateur * afin de multiplier 2 matrices, le voilà :
Citation :
matrice matrice::operator*(const matrice &m1)
{
matrice result(ligne,m1.colonne);
if(colonne == m1.ligne) // si nb colonnes = nb lignes de l'autre matrice
{
for(int i=0;i<ligne;i++) //pour chaque ligne
{
for(int j=0;j<m1.colonne;j++) // pour chaque colonne
{
for(int k=0;k<colonne;k++) // produit scalaire
result.mat[i][j] += mat[i][k]*m1.mat[k][j];
}
}
}
else
{
cout<<"Matrices incompatibles,operation impossible !"<<endl;
}
return result;
}
|
J'ai également surchargé l'opérateur << d'affichage qui marche très bien (je l'ai testé), mais quand je fais :
Citation :
cout<<"m1 * m2 = "<<(m1*m2)<< endl;
cout<<endl;*/
|
Rien ne s'affiche. J'ai essayé plusieurs choses, mais je n'arrive pas à comprendre pourquoi cela ne veut pas marcher !
Merci d'avance pour votre aide.