la matrice et le vecteur de multiplication
Supposons que nous disposons de 3*3 de la matrice comme ceci:
1 3 4
2 6 8
9 0 12
Et un vecteur comme ceci:
1 2 3
Ma question est: comment faire pour la mettre en œuvre, de sorte que je pourrais multiplier l'un par l'autre? J'ai un exemple de code:
#include <cstdlib>
#include <math.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a[3][3]={{ 2,4,3},{1,5,7},{0,2,3}};
int b[]={2,5,6};
int c[3];
for (int i=0;i<3;i++){
c[i]=0;
}
for (int i=0;i<3;i++){
for (int j=0;j<3;j++){
c[i]+=( a[i][j]*b[j]);
}
}
for (int i=0;i<3;i++){
cout<<a[i]<<" "<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Le résultat que j'ai obtenu est:
0x22ff10
0x22ff1c
0x22ff28
- Vous ne pouvez pas imprimer des tableaux comme ça. Vous avez besoin d'écrire une boucle pour imprimer chaque élément individuellement.
Vous devez vous connecter pour publier un commentaire.
Changement:
à:
Je pense que vous voulez être l'impression
c[i]
, pasa[i]
, dans votre dernière boucle.Conception d'un objet? Voici un pseudo-code pour vous aider à démarrer:
Vous pouvez aussi faire de la non-membre de la fonction de modèle pour effectuer des opérations. Si vous voulez qu'il soit de fantaisie, je voudrais faire une classe représentant une
Row
qui a des valeurs, l'égalité, l'opération de ligne, etc. Ensuite, faire unMatrix
de la classe en termes de vecteur de lignes.