| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 562 人关注过本帖
标题:查找源程序的错误
只看楼主 加入收藏
clint00
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-30
收藏
 问题点数:0 回复次数:8 
查找源程序的错误

大家给看个源程序,不知错哪里了,是关于矩阵乘法的
因为第一个矩阵的列等于第二个矩阵的行才可相乘,故输入中只有a,b,c其中b既是第一矩阵的列也是第二矩阵的行


#include "stdio.h"
#include "malloc.h"
#include "stdlib.h"

main()
{ int a,b,c,i,j,m,r;
float sn=0;
float *p,*p1,*e,*n;
float t=0;
printf("input hang a:");
scanf("%d",&a);
printf("input lie b:");
scanf("%d",&b);
printf("input another lie c:");
scanf("%d",&c);
p=(float*)malloc(a*b*sizeof(float));
p1=(float*)malloc(b*c*sizeof(float));
e=p;n=p1;
printf("input 1 array:");
for(i=0;i<a*b;i++)
{ scanf("%f",&t);
*(p+i)=t;

}
printf("input 2 array:");
for(i=0;i<b*c;i++)
{ scanf("%f",&t);
*(p1+i)=t;

}
for(i=0;i<a*b;i+=b)
{
for(m=0;m<c;m++)
{ for(j=0,r=0;j<b*c||r<b;j+=c,r++)
{p=p+i+r;
p1=p1+m+j;
sn=sn+(*p)*(*p1);
}printf("%f ",sn);
sn=0;p1=n;p=e;
} printf("\n");

}

}

2006-07-30 16:27
clint00
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-30
收藏
得分:0 
顶一下啊自己
2006-07-30 16:41
canon787
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2006-6-28
收藏
得分:0 

没发现`~编译了也没错啊 。。楼主说的是什么?


Learning by heart
2006-07-30 17:01
clint00
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-30
收藏
得分:0 

编译没有错误,但是运行结果有问题呀。
不知道是不是逻辑出错了~~

2006-07-30 17:28
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
for(j=0,r=0;j<b*c||r<b;j+=c,r++)
||-->&&
另外,指针在偏移的时候也出现了问题
p=p+i+r;
p1=p1+m+j;
sn=sn+(*p)*(*p1);
}printf("%f ",sn);
sn=0;p1=n;p=e;

具体什么原因我没仔细看了。您的变量都是随机的字符,看起来很难被识别
数组的乘法用一维指针去做,是吃力不讨好的事情,楼主如果是为了练习指针,改为二维指针会轻松许多。
最后,申请的空间要记得free.

对不礼貌的女生收钱......
2006-07-30 19:50
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

不加注释不要管他.

PS:你家买电脑了没?..不会在外面吧


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-07-30 19:59
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

咱都是工大的吧,您还是我学长呢!我福建的,在寝室上的.在外面还得了。


对不礼貌的女生收钱......
2006-07-30 20:08
clint00
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-30
收藏
得分:0 

此程序要做任意两矩阵的乘法,二维数组分配空间是确定的,所以用一维了

2006-08-20 23:14
clint00
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-7-30
收藏
得分:0 
有,现在不长上网
2006-08-20 23:16
快速回复:查找源程序的错误
数据加载中...
 
   



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

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