搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 怎样用For循环编写两矩阵的乘积?
标题:
怎样用For循环编写两矩阵的乘积?
取消只看楼主
boliyuan
来 自:四川南充
等 级:
新手上路
帖 子:59
专家分:2
注 册:2007-6-26
结帖率:
100%
楼主
问题点数:0 回复次数:3
怎样用For循环编写两矩阵的乘积?
怎样用For循环编写两矩阵的乘积?
假设一个是四行三列的矩阵a,一个是三行四列的矩阵b,最后将它们的乘积存入一个数组c中!
for (i=0;i<4;i++)
for (j=0;j<4;j++)
sum+=a[i][j]*b[j][i];
c[i][j]=sum;
可是这只能实现c矩阵的第一个元素,其它的就不知道怎么实现了!
有谁知道,请帮我一下!谢谢!
搜索更多相关主题的帖子:
乘积
For
矩阵
编写
2008-03-24 15:00
boliyuan
来 自:四川南充
等 级:
新手上路
帖 子:59
专家分:2
注 册:2007-6-26
第
2
楼
得分:0
回复 6# 的帖子
你这样子结果是错的,也许你把矩阵相乘的算法弄错了!
矩阵的算法是:
int a[2][3]={{a11,a12,a13},{a21,a22,a23}};
a[3][2]={{b11,b12},{b21,b22},{b31,b32}};
则c[2][2]={{a11*b11+a12*b21+a13*b31,a11*b12+a12*b22+a13*b32},{a21*b11+a22*b21+a23*b31,a21*b12+a22*b22+a23*b32}}
[[it] 本帖最后由 boliyuan 于 2008-3-26 11:15 编辑 [/it]]
2008-03-26 11:14
boliyuan
来 自:四川南充
等 级:
新手上路
帖 子:59
专家分:2
注 册:2007-6-26
第
3
楼
得分:0
回复 10# 的帖子
那都再去查下资料,到底是谁错了!
嘿嘿~
唉!不过有人会这个题吗?帮忙想想罗!
2008-03-26 20:35
boliyuan
来 自:四川南充
等 级:
新手上路
帖 子:59
专家分:2
注 册:2007-6-26
第
4
楼
得分:0
有关用For循环编写两矩阵的乘积的源代码出来了哈!
#include <stdio.h>
main()
{
int i,j,k,sum;
int c[4][4];
int a[4][3];
int b[3][4];
printf ("请输入四行三列的矩阵:");
for (i=0;i<4;i++)
for (j=0;j<3;j++)
scanf ("%3d",&a[i][j]);
printf ("请输入三行四列的矩阵:");
for (i=0;i<3;i++)
for (j=0;j<4;j++)
scanf ("%3d",&b[i][j]);
for (i=0;i<4;i++)
{
sum=0;
k=0;
{
do{
sum=0;
{
for (j=0;j<3;j++)
sum+=a[i][j]*b[j][k];
}
c[i][k]=sum;
printf("%3d",c[i][k]);
k++;
}while (k<4);
}printf ("\n");
}
}
注:由于系统版本的原因,在调试时“请输入四行三列的矩阵和请输入三行四列的矩阵”这两部分提示信息不会显示,而是显示的是乱码哦!不过你知道意思就可以了,只要你照样输入元素,然后运行就可以了哦!(嘿嘿,具体原因我也不知道,有待讨论哈!)
2008-04-01 17:19
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-205011-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.208052 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved