| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3758 人关注过本帖
标题:二维数组与一维数组的本质区别
只看楼主 加入收藏
wh2000292
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-3-19
收藏
 问题点数:0 回复次数:6 
二维数组与一维数组的本质区别
#include<stdio.h>
void jc(int *a,int *b,int *c,int m,int n)
{int i,j,k;
for(i=0;i<m;i++)
for(j=0;j<m;j++)
{*(c+i*n+j)=0;
for(k=0;k<n;k++)
*(c+i*n+j)+=*(a+i*n+k)*(*(b+k*m+j));
}
}
main()
{int a[2][4],b[4][2],c[2][2],i,j;
printf("input a:\n");
for(i=0;i<2;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("input b:\n");
for(i=0;i<4;i++)
for(j=0;j<2;j++)
scanf("%d",&b[i][j]);
jc(&a[0][0],&b[0][0],&c[0][0],2,4);
printf("the result is :\n");
for(i=0;i<2;i++)
{for(j=0;j<2;j++)
printf("%d ",c[2][2]);
printf("\n");
}
}
这个程序不能正确的实现矩阵相乘,我觉得是一维数组 与二维数组 的区别所致,请大虾们指教
搜索更多相关主题的帖子: 二维 include 
2007-07-09 19:11
yu_hua
Rank: 2
等 级:论坛游民
帖 子:222
专家分:95
注 册:2006-8-10
收藏
得分:0 
少设置了一个参数
m阶p列的矩阵乘上p阶n列的矩阵得到m阶n列的矩阵
总共涉及m,n,p三个参数,而不是两个
2007-07-10 09:37
wh2000292
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-3-19
收藏
得分:0 
回复:(yu_hua)少设置了一个参数m阶p列的矩阵乘上p阶...

你没看程序吧,其实就是m*n n*y两个矩阵相乘


2007-07-10 10:40
yu_hua
Rank: 2
等 级:论坛游民
帖 子:222
专家分:95
注 册:2006-8-10
收藏
得分:0 
m,n,y还不是3个参数?
2007-07-10 12:02
wh2000292
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-3-19
收藏
得分:0 
回复:(yu_hua)m,n,y还不是3个参数?

晕,我看错了,但我的程序比较简单,是实现m*n 和n*m两个矩阵相乘


2007-07-10 15:40
yu_hua
Rank: 2
等 级:论坛游民
帖 子:222
专家分:95
注 册:2006-8-10
收藏
得分:0 
我的意思是说:函数设计要有一定的通用性,引入三个参数反而是“惯例”
2007-07-10 16:43
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
二维数组与一维数组的本质是没有区别的
2007-07-10 17:00
快速回复:二维数组与一维数组的本质区别
数据加载中...
 
   



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

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