矩阵和向量乘法

dat*_*ili 1 c++ multidimensional-array

假设我们有3*3矩阵,如下所示:

1 3  4
2 6 8
9 0 12
Run Code Online (Sandbox Code Playgroud)

还有一些像这样的矢量:

1   2   3 
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何实现它以便我可以相互繁殖?我有示例代码:

#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;
}
Run Code Online (Sandbox Code Playgroud)

我得到的结果是:

0x22ff10
0x22ff1c
0x22ff28
Run Code Online (Sandbox Code Playgroud)

Pau*_*l R 6

更改:

 for (int i=0;i<3;i++){
      cout<<a[i]<<"  "<<endl;
Run Code Online (Sandbox Code Playgroud)

至:

 for (int i=0;i<3;i++){
      cout<<c[i]<<"  "<<endl;
Run Code Online (Sandbox Code Playgroud)