请指教我下一期。我试图乘以2矩阵,并且在我的代码中存在一些我无法识别的逻辑错误。请帮忙。预先感谢您矩阵乘法
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
short int Mtx_A[4][2] = {
{1,2},
{3,4},
{5,6},
{7,8},
};
short int Mtx_B[2][3] = {
{5,7,9},
{11,2,6},
};
short int Mtx_res[4][3] = {0};
for (short int i = 0;i<4;i++) { // Mtx_A lines counter
for (short int j=0;j<2;j++) { // Mtx_B lines & Mtx_A columns counter
for (short int k=0;k<3;k++) { // Mtx_res columns counter
Mtx_res[i][k] += Mtx_A[i][j] * Mtx_B[j][k];
cout<< Mtx_res[i][k] <<"*"<<"\t";
}
cout<<"o"<<"\n";
}
}
getchar();
return 0;
}
听起来像作业......是吗? –
我没有看到任何直接的逻辑错误,但我在您的矩阵定义中看到了一些不必要的逗号。在{7,8}和{11,2,6}之后删除逗号 –
这种逻辑错误表达自己的方式。它是否编译?它运行吗?它打印出意外的输出吗?它打印什么输出?你期望输出什么? –