矩阵乘法

csdn
一个m*n的矩阵和一个n*p的矩阵相乘,将会得到一个m*p的矩阵

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    int a[110][110]={};
    int b[110][110]={};
    int c[110][110]={};
    
    int n=0,m=0,p=0;
    cin>>n>>m;//矩阵a为n*m(n行m列) 
	for(int i=0;i<n;i++)
	  for(int j=0;j<m;j++)
	    scanf("%d",&a[i][j]);
		
    cin>>p;  //矩阵b为m*p(m行p列)
    for(int i=0;i<m;i++)
	  for(int j=0;j<p;j++)
	    scanf("%d",&b[i][j]);	
		
    for(int i=0;i<n;i++)   //矩阵c是a与b相乘得到的 
	  for(int j=0;j<p;j++) //n*p(n行p列) 
	    for(int k=0;k<m;k++)
		  c[i][j]+=a[i][k]*b[k][j];
		  
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<p;j++)
	     cout<<c[i][j]<<" ";
		cout<<endl; 
	}
	return 0;   	  		   		 
}

posted @ 2024-11-07 16:04  某朝  阅读(9)  评论(0编辑  收藏  举报