通过在带有 C++ 的列表中添加连续元素来计算新的整数列表

Compute a new list of integers by adding consecutive elements in a list with C++

本文关键字:列表 元素 连续 计算 整数 添加 C++      更新时间:2023-10-16

我是C++的初学者。我想知道如何通过添加 8 个连续元素来计算新列表,然后将它们除以在具有 C++ 的列表中添加的元素数。例如,新列表是 re[],我们将使用的列表是 a[],它有 200 个元素。所以 re[i] = (a[i-1

]+a[i-2]+a[i-3]+a[i-4]+a[i]+a[i+1]+a[i+2]+a[i+3]+a[i+4](/9
for(int i=4;i<196;i++){
re[i] = (a[i-1]+a[i-2]+a[i-3]+a[i-4]+a[i]+a[i+1]+a[i+2]+a[i+3]+a[i+4])/9
}

但是,上述代码不适用于 re[] 中的前 4 个元素和后 4 个元素,因为在这些情况下,a[i] 在 a[i] 之前或之后都没有 4 个连续的元素。 所以我想知道如何使用 for 循环对这些元素做同样的事情? 感谢您的任何帮助。

我真的不知道你在做什么,但你可能需要使用模符号,这样你就不会超出范围 例如: 我想坚持数字 7 不得到更多,也不要少于 0 我会说例如 1 mod 7,我会得到 1 如何?因为它需要师的提醒 要了解更多信息,请转到此处 要计算并尝试转到此处

在您的示例中

for(int i=0;i<200;i++){
re[i] = (a[(i-1)%200]+a[(i-2)%200]+a[(i-3)%200]+a[(i-4)%200]+a[(i)%200]+a[(i+1)%200]+a[(i+2)%200]+a[(i+3)%200]+a[(i+4)%200])/9
}