gpt4 book ai didi

c - C 静态数组中的移动平均值

转载 作者:行者123 更新时间:2023-11-30 15:36:39 25 4
gpt4 key购买 nike

我有一个包含 10 个元素的数组,我需要将该数组转换为其等效的移动平均线。

每次使用 3 个元素(例如,索引 0-2、然后 1-3 处的元素的平均值,依此类推,直到索引从 10 开始,然后回到 0 和 1,以使新数组也恰好有 10 个元素)。

在不使用指针环绕数组(环形缓冲区)的情况下,最好的方法是什么?

最佳答案

只需进行一些边界检查并将索引包装在代码中即可。

下面的示例代码可以变得更高效,但为了清晰起见(某种程度上),它是这样写的。另外,由于我是在 StackOverflow 中输入而不是编译它,所以可能会出现一些小错误。

int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int averages[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

for (int i = 0; i < 10; i++)
{
int a = i;
int b = i + 1 > 9 ? i - 10 + 1;
int c = i + 2 > 9 ? i - 10 + 2;

int count = array[a] + array[b] + array[c];
int average = count / 3; // note this will truncate any decimal part

averages[i] = average;
}

关于c - C 静态数组中的移动平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22502131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com