我正在編寫一個程序,將兩個3X3矩陣相乘。我遇到了一些問題,我無法弄清楚問題所在。任何幫助,將不勝感激:d在C++中乘以3x3矩陣
#include <iostream>
using namespace std;
int main(){
int matrix1[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int matrix2[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int results[3][3];
int product = 0;
int i;
int j;
for (i = 1; i <= 3; i++){
for (j = 1; j <= 3; j++){
product += matrix1[i][j] * matrix2[j][i];
cout << product << endl;
}
results[i][j] = product;
product = 0;
}
cout << endl << "Output Matrix: " << endl;
for (int i = 1; i < 4; i++){
for (int j = 1; j < 4; j++){
cout << results[i][j];
}
cout << endl;
}
system("pause");
return 0;
}
這是結果我把它弄出來:
提前再次25
73
-1717986851
48
129
-858993331
-1867771963
1566576709
1595991863
Output Matrix:
-858993460-858993460-858993460
-1717986851-858993460-858993460
-85899333112
Press any key to continue . . .
謝謝! :D
爲什麼你使用'刪除[]矩陣1;'ASO,如果你從來沒有創建這些使用'new'? –
'results [i] [j] = product;'應該在內部循環體內。 –
首先,你似乎忘記了數組索引從零到大小減1。 –