怎样用C++实现简单的矩阵乘法

 我来答
咬苹果qq
推荐于2017-11-23 · TA获得超过1223个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:154万
展开全部
#include <iostream>
using namespace std;

#define M 4
#define N 4
#define K 3

void main()
{
//a二维数组4行3列
int a[M][K]={{1, 1, 1},
{1, 1, 1},
{1, 1, 1},
{1, 1, 1}
};
//b二维数组3行4列
int b[K][N]={{1, 0, 0, 1},
{0, 2, 0, 0},
{0, 0, 3, 0}
};
int c[M][N]; //用一个二维数组存放矩阵的乘积结果
for(int i=0; i<M; i++) //a二维数组4行3列,a[i][x],i 运行四次
for(int j=0; j<N; j++) //b二维数组3行4列,b[x][j],j 运行四次
{ c[i][j]=0; //乘积赋出值为零
for(int x=0; x<K; x++) //k运行3次
c[i][j]=c[i][j]+a[i][x]*b[x][j]; //a[i][x]*b[x][j]最重要的中心运算,a数组的第i行与b数组的第j列相乘
}
for(i=0; i<M; i++)
{ for(int j=0; j<N; j++)
cout<<c[i][j]<<"\t"; //输出矩阵的乘积结果
cout<<endl;
}
}

理清思路,最好在纸上画画,就会更加理解其中的的运算规则,这样也就不难理解了,希望对你有帮助。
百事牛
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点... 点击进入详情页
本回答由百事牛提供
fudongqiu1986
2010-04-29 · TA获得超过210个赞
知道答主
回答量:65
采纳率:0%
帮助的人:0
展开全部
void matrix_mult(int a[][N],int b[][N],int[][N])
{
for(int i=0;i<=N;i++)
{
for(int j=0;j<=N;j++)
{
c[i][j]=0;
for(int k=0;k<=N;k++)
{
c[i][j]+=a[i][k]*b[k][j];
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者dAJ2waiWtY
2020-02-28 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:34%
帮助的人:1042万
展开全部
#include
using
namespace
std;
#define
m
4
#define
n
4
#define
k
3
void
main()
{
//a二维数组4行3列
int
a[m][k]={{1,
1,
1},
{1,
1,
1},
{1,
1,
1},
{1,
1,
1}
};
//b二维数组3行4列
int
b[k][n]={{1,
0,
0,
1},
{0,
2,
0,
0},
{0,
0,
3,
0}
};
int
c[m][n];
//用一个二维数组存放矩阵的乘积结果
for(int
i=0;
i
评论
0
0
加载更多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式