| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1176 人关注过本帖
标题:一个矩阵求积程序,网上没有的
只看楼主 加入收藏
qq349004853
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-3-27
收藏
 问题点数:0 回复次数:4 
一个矩阵求积程序,网上没有的
我觉得不管学什么,他的最终目的都是为了应用,学编程更是如此。我学习c语言时间不长,技术并不是很高,我觉得有收获就得拿出来,不能藏着,下面就是我编的一个矩阵求积的程序的源代码,我自己觉得比网上的要好,呵呵,是不是有点自恋。实现很简单,但还是能给新手一些启发,而且我想告诉大家的并不是这个程序本身,而是想说大家都应该想一想学习中遇到的任何问题能不能自己编个程序解决,因为在这个论坛的都在学编程嘛。在vc++中通过。有什么问题,希望大家不吝赐教。
#include<stdio.h>
#define Maxsize 200
struct Matrix
{
 int a[Maxsize];
 int m,n;
};
main()
{
 int i,j,k,l=0;
 int sum=0;
 struct Matrix b1,b2,b3;
 printf("请输入第一个矩阵行数和列数:\n");
 scanf("%d%d",&b1.m,&b1.n);
 printf("请依次输入矩阵的所有元素:\n");
 for(i=0;i<b1.m*b1.n;i++)
  scanf("%d",&b1.a[i]);
printf("请输入第二个矩阵行数和列数:\n");
 scanf("%d%d",&b2.m,&b2.n);
 printf("请依次输入矩阵的所有元素:\n");
 for(i=0;i<b2.m*b2.n;i++)
  scanf("%d",&b2.a[i]);
 if(b1.n!=b2.m) printf("这两个矩阵不能进行乘法运算!\n");
 else
 {
  for(i=1;i<=b1.m;i++)
   for(k=1;k<=b2.n;k++)
   {
    for(j=1;j<=b1.n;j++)
     sum=sum+b1.a[(i-1)*b1.n+j-1]*b2.a[(j-1)*b2.n+k-1];
    b3.a[l++]=sum;
    sum=0;
   }
   b3.m=b1.m;
   b3.n=b2.n;
             printf("输入的第一个矩阵是:\n");
    for(i=0;i<b1.m*b1.n;i++)
   {
    if((i+1)%b1.n==0) printf("%d \n",b1.a[i]);
    else printf("%d ",b1.a[i]);
   }
             printf("输入的第二个矩阵是:\n");
    for(i=0;i<b2.m*b2.n;i++)
   {
    if((i+1)%b2.n==0) printf("%d \n",b2.a[i]);
    else printf("%d ",b2.a[i]);
   }
   printf("所求矩阵为:\n");
    for(i=0;i<b3.m*b3.n;i++)
   {
    if((i+1)%b3.n==0) printf("%d \n",b3.a[i]);
    else printf("%d ",b3.a[i]);
   }
 }
}
来源: http://www.

矩阵求积程序完善版.rar (31.64 KB)
收到的鲜花
  • 永夜的极光2008-11-09 20:50 送鲜花  49朵   附言:好文章
搜索更多相关主题的帖子: 矩阵 
2008-11-09 19:12
qq349004853
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-3-27
收藏
得分:0 
补充一点
如果结果一闪就没,在头文件中加上#include<conio.h>,程序最后加上一句getch();
2008-11-09 19:30
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1692
专家分:4282
注 册:2007-12-27
收藏
得分:0 
有问题的时候会自己动脑筋,这很好
不过写程序的时候应该更加以人为本
假设你到某处办事,人家告诉你“先填表吧”,然后你用两个小时填好表格,人家接过去看一眼就告诉你,你既然是北京的身份证号码,就得回北京去办,这个表格白填了,作废吧......
如果别人使用这个程序,辛辛苦苦敲了一堆数据,然后被告知“这两个矩阵不能进行乘法运算!”的时候会不会有点不愉快?

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-09 20:14
qq349004853
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-3-27
收藏
得分:0 
呵呵,多谢了,我知道了应该在输入两个矩阵的行和列之后立即就判断能不能相乘,而不应该在输入所有数据之后再判断。
2008-11-09 20:21
qq349004853
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-3-27
收藏
得分:0 
回复 3# 的帖子
呵呵,多谢了,我知道了应该在输入两个矩阵的行和列之后立即就判断能不能相乘,而不应该在输入所有数据之后再判断。
2008-11-09 20:22
快速回复:一个矩阵求积程序,网上没有的
数据加载中...
 
   



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

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