首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

追问(真心不懂):解决思路

2012-05-01 
追问(真心不懂):你能跟我说为什么吗?我不是已经在主函数中申请好数组了吗?Array3[k1][k2]0的赋值的作用是

追问(真心不懂):
你能跟我说为什么吗?我不是已经在主函数中申请好数组了吗?Array3[k1][k2]=0的赋值的作用是什么?谢谢!

[解决办法]
初始化为 0,你虽然申请了数组,但数组的内存里的数据是以前保留的,可能不是0
你要计算的话,要初始化为0再行吧。


array3[k1][k2]中你申请时,内存中的数据是以前保留的,你一相加,就把以前的数据加了,所以就错了
你初始化为0,不就对了。
Array3[k1][k2]+=Array1[k1][k3]*Array2[k3][k2];


C/C++ code
void multimatrix(double **&Array1,int row1,int col1,                 double **&Array2,int row2,int col2,                 double **&Array3,int row3,int col3){    for(int k1=0;k1<row3;k1++)        for(int k2=0;k2<col3;k2++)        {                        printf("%lf ", Array[k1][k2]);//加上这句,把以前保留的值输出来看下,是多少            Array3[k1][k2] = 0;  //赋值0            for(int k3=0;k3<col1;k3++)                Array3[k1][k2]+=Array1[k1][k3]*Array2[k3][k2];        }} 

热点排行