1. 程式人生 > 實用技巧 >矩陣乘法(HJ69)

矩陣乘法(HJ69)

一:解題思路

二:完整程式碼示例 (C++版和Java版)

C++程式碼:

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int row1=0;
    int col1=0;
    int col2=0;
    
    while(cin>>row1>>col1>>col2)
    {
        vector<vector<int>> array1(row1,vector<int>(col1,0
)); vector<vector<int>> array2(col1,vector<int>(col2,0)); vector<vector<int>> array3(row1,vector<int>(col2,0)); for(int i=0;i<row1;i++) { for(int j=0;j<col1;j++) { cin>>array1[i][j]; } }
for(int i=0;i<col1;i++) { for(int j=0;j<col2;j++) { cin>>array2[i][j]; } } for(int i=0;i<row1;i++) { for(int j=0;j<col2;j++) { int sum=0;
for(int k=0;k<col1;k++) { sum+=array1[i][k]*array2[k][j]; } array3[i][j]=sum; } } for(int i=0;i<row1;i++) { for(int j=0;j<col2;j++) { cout<<array3[i][j]<<" "; } cout<<endl; } } return 0; }