c - 求二维数组中每一列的平均值

标签 c arrays multidimensional-array

我试图找到二维数组中所有列的平均值并将它们存储到一维数组中。 我想从那个一维数组返回最小数字的位置。 这是我的代码,它确实产生了一个答案(没有编译/运行时错误)但是它给出的答案是不正确的。

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/

相关文章:

c - 从缓冲区读取数据的最佳实践

c - 排除代码段陷入循环的原因

c - 解析二维字符数组

c++ - 数组中最小的 2 个数

jquery - 如何使用 jQuery 在 .each 循环中构建数组?

c# - 如何使用 SWIG 从 C 代码生成的 C# 中的枚举?

c - 尝试使用 snprintf 添加两个字符串时出现错误

javascript - 获取对象数组中所有指定元素的总和

c - 从文件读入二维数组会在 C 中返回错误值吗?

python - 在numpy中生成一个n维坐标数组