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);
}
}