我试图找到二维数组中所有列的平均值并将它们存储到一维数组中。 我想从那个一维数组返回最小数字的位置。 这是我的代码,它确实产生了一个答案(没有编译/运行时错误)但是它给出的答案是不正确的。
int function(){
int m, n,p;
for(m = 0; m < NROW; m++){//I think the problem must be within this set of for loops.
for(n = 0; n < NCOL; n++){
averages[n] += twoD[n][m]; //averages is an array of type double
}
}
for(p = 0; p < NCOL; p++){
averages[p] = (((double)averages[p])/((double)NROW));
}
int d, location;
int lowest = averages[0];
for ( d = 1 ; d < NCOL ; ++d )
{
if ( averages[d] < lowest )
{
lowest = averages[d];
location = d;
}
}
return location;
}
最佳答案
在 for 循环中,第一个 for
应该获取所有列,第二个 for
应该获取所有行。
例如:column=1 然后您使用第二个 for
并获取该列上所有行的值 row=1, row=2 等等。
for(n = 0; n < NCOL; n++){ \\for each column
for(m = 0; m < NROW; m++){ \\take each row of each column
averages[n] += twoD[m][n]; //row m, column n
}
}
关于c - 求二维数组中每一列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26230560/