C语言矩阵相乘

学过线代都知道,两矩阵可以相乘的条件为第一个矩阵的列数跟第二个矩阵的行数相等即(A,B)*(B,C)=(A,C)

矩阵可以用一个二维数组保存其值

假设现在有一个2*3的矩阵,还有一个3*4的矩阵,怎么用C语言求他们的乘积矩阵呢?

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a[100][100],b[100][100],c[100][100];
	int x1,y1,x2,y2;
	cin>>x1>>y1;
	for(int i=0;i<x1;i++){
		for(int j=0;j<y1;j++)
		cin>>a[i][j];		//为矩阵a赋值 
	}
	cin>>x2>>y2;
	for(int i=0;i<x2;i++){
		for(int j=0;j<y2;j++)
		cin>>b[i][j];		//为矩阵b赋值 
	}
	for(int i=0;i<x1;i++){
		for(int j=0;j<y2;j++){
			for(int k=0;k<y1;k++)
			c[i][j]+=a[i][k]*b[k][j];		//计算所得矩阵每个位置的值 
		}
	}
	for(int i=0;i<x1;i++){
		for(int j=0;j<y2;j++)
		cout<<c[i][j]<<" ";			//输出乘积矩阵c 
		cout<<endl;
	} 
	return 0;
}

关键步骤就是计算乘积矩阵每个位置值的那一个循环,只要那个循环的逻辑搞清了,以后做题遇到求矩阵就可以直接拿来用

这个简单的弟弟问题昨晚竟然让我想了半天,还是太垃圾了,继续努力啊。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值