问题
求解关于两个矩阵的乘积
解题思路:
参考线性代数里面的两个矩阵相乘的规则,我这里不再赘述,详情附上了一个链接,我的编程也是用了里面的例子~~
这里写链接内容
具体的过程我会在代码片里面加上注释
代码
///矩阵乘法
// author:seen
// 2015-09-18
#include <iostream>
using namespace std;
int num1[100][100];
int num2[100][100];
int num3[100][100];
int matrix(int m,int n,int temp){ //temp就是指row1
int sum=0;
for(int i=0;i<temp;i++){
sum+=num1[m][i]*num2[i][n];
}
return sum;
}
void mul(int row1,int column1,int row2,int column2){
int i,j;
for(i=0;i<row2;i++){
for(j=0;j<column1;j++){
num3[i][j]=matrix(i,j,column1); //计算该i行,j列的值
}
}
for(i=0;i<row1;i++){ //输出结果矩阵
for(j=0;j<column2;j++){
cout<<num3[i][j]<<" ";
}
cout<<endl;
}
}
int main()
{
int row1,column1,row2,column2,i,j; //输入两矩阵的行和列
cin>>row1>>column1>>row2>>column2;
for(i=0;i<row1;i++){ //输入矩阵1
for(j=0;j<column1;j++){
cin>>num1[i][j];
}
}
for(i=0;i<row2;i++){ //输入矩阵2
for(j=0;j<column2;j++){
cin>>num2[i][j];
}
}
mul(row1,column1,row2,column2); //计算矩阵乘积
}