繁体   English   中英

通过使用 C++ 在列表中添加连续元素来计算新的整数列表 [重复]

[英]Compute a new list of integers by adding consecutive elements in a list with C++ [duplicate]

我是 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 循环来做同样的事情? 谢谢你的帮助。

我真的不知道你在做什么,但你可能需要使用 Modulo Symbol 这样你就不会超出范围例如:我想坚持使用数字 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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM