| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5802 人关注过本帖
标题:怎样用For循环编写两矩阵的乘积?
取消只看楼主 加入收藏
boliyuan
Rank: 1
来 自:四川南充
等 级:新手上路
帖 子: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
Rank: 1
来 自:四川南充
等 级:新手上路
帖 子:59
专家分:2
注 册:2007-6-26
收藏
得分: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
Rank: 1
来 自:四川南充
等 级:新手上路
帖 子:59
专家分:2
注 册:2007-6-26
收藏
得分:0 
回复 10# 的帖子
那都再去查下资料,到底是谁错了!
嘿嘿~
唉!不过有人会这个题吗?帮忙想想罗!
2008-03-26 20:35
boliyuan
Rank: 1
来 自:四川南充
等 级:新手上路
帖 子:59
专家分:2
注 册:2007-6-26
收藏
得分: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
快速回复:怎样用For循环编写两矩阵的乘积?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012087 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved