C++ 计算一个数组中特定行的平均值并存储在另一个数组中

C++ 计算一个数组中特定行的平均值并存储在另一个数组中,c++,arrays,C++,Arrays,我试图计算数组中特定行的平均值。 例如,数组的格式如下所示: float Array[20] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,...20} 我想计算数组中前5个数字的平均值,然后计算接下来5个数字的平均值,依此类推。。。仅使用这些数字的平均值将它们存储到另一个数组中 这是到目前为止我的代码 float average_values[4]; for (int a = 0; a < 4; a++){ //20 elements in array div

我试图计算数组中特定行的平均值。 例如,数组的格式如下所示:

float Array[20] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,...20}
我想计算数组中前5个数字的平均值,然后计算接下来5个数字的平均值,依此类推。。。仅使用这些数字的平均值将它们存储到另一个数组中

这是到目前为止我的代码

float average_values[4];
for (int a = 0; a < 4; a++){    //20 elements in array divided by 5 = 4
    float sum = 0;
    for (int b = 0; b < (20 / 4); b++){
        sum = sum + scores[b];
    }
    average_values[i] = sum / (20 / 4);
}

保留当前帖子中的所有拼写错误

我假设您在填充平均值数组时遇到问题

假设分数数组是5列4行的矩阵

因此,您的内部循环应该如下所示:

for (int b = 0; b < 5; b++){
    sum = sum + scores[ a*5 + b];
                      //~~~ Correct index for next sets
}
在这方面,它将是:

auto means = Array
             | ranges::view::chunk(5)
             | ranges::view::transform([](auto&& r) { return ranges::accumulate(r, 0.f) / 5; });
#include <stdio.h>
int main()
{
        int scores[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14,15,16,17,18,19,20};
        float average_values[4];
        for (int a = 0; a < 4; a++)
        {    //20 elements in array divided by 5 = 4
            float sum = 0;
            for (int b = 0; b < (20 / 4); b++)
                sum = sum + scores[b+a*5]; // THIS IS THE BIT YOU'D MISSED
            average_values[a] = sum / (20 / 4);
        }
}