1,老师要求实现两个二维数组的相乘,没有说明是否是维数和各维长度都相等的两个二维数组,也没说明相乘后是按如何情况输出,所以我首先在题目上有了疑惑。
2,暂且认为是维数和各维长度都相等的两个二维数组,用一维数组输出,小弟进行以下实现代码:
#include "stdafx.h"
#include "stdlib.h"
#define hg 3
#define sg 4
int Xiangcheng(int a[hg][sg],int b[hg][sg],int x,int y)
{
int c[x*y];
int i,j,k;
for(i=0;i<x;i++,k+y)
for(j=0,k=0;j<y;j++,k++)
c[k]=a[i][j]*b[i][j];
for(i=0;i<x*y;i++)
printf("%d",c[i]);
}
void main(int argc, char* argv[])
{
int a[hg][sg],b[hg][sg];
int i,j,k;
printf("数组a为: 数组b为: ");
for(i=0;i<hg;i++,k+sg)
for(j=0,k=1;j<sg;j++,k++)
{
a[i][j]=k; b[i][j]=k+3;
printf("%5d %5d",a[i][j],b[i][j]);
}
Xiangcheng(a[i][j],b[i][j],hg,sg);
}
此代码是在VC++状态下编写的。
结果是错误大堆。。。。请大侠帮帮忙!!!谢谢了!!!
[此贴子已经被作者于2007-6-28 16:23:44编辑过]