【矩阵乘法】:矩阵乘法的基本实现

问题

求解关于两个矩阵的乘积

解题思路:

参考线性代数里面的两个矩阵相乘的规则,我这里不再赘述,详情附上了一个链接,我的编程也是用了里面的例子~~
这里写链接内容

具体的过程我会在代码片里面加上注释

代码

///矩阵乘法
// 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![这里写图片描述](http://img.blog.csdn.net/20150918144204202);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);  //计算矩阵乘积
}

截图

【矩阵乘法】:矩阵乘法的基本实现_第1张图片

你可能感兴趣的:(编程,矩阵乘法)