請指教我下一期。我試圖乘以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}之後刪除逗號 –
這種邏輯錯誤表達自己的方式。它是否編譯?它運行嗎?它打印出意外的輸出嗎?它打印什麼輸出?你期望輸出什麼? –