[英]C++ Store latest values from a large array in a separate array
我需要一种方法将大型数组的最新3个值存储到一个单独的数组中,但是我无法终生弄清楚如何编写代码。
朝着这个方向发展:
int w[3] = {0, 0, 0};
int x[12] = {0, 2, 4, 6, 4, 2, 0, 2, 4, 6, 4, 2};
w[0] = x[i];
w[1] = x[i-1];
w[2] = x[i-2];
因此,如果i = 2,则:
w[0] = x[2] = 4
w[1] = x[2-1] = 2
w[2] = x[2-2] = 0
关键是要在如下代码中使用它:
for (i=0; i<200; i++){
//store x[i], x[i-1] and x[i-2] into 'w' for every value 'i'
//compensate for undefined 'x'-values (such as x[0-1] and x[0-2] )
//by writing '0' to corresponding 'w'
}
w[0] = 0;
w[1] = 0;
w[2] = 0;
w[0] = x[i];
if (i>=1)
{
w[1] = x[i-1] ;
}
if ( i>= 2)
{
w[2] = x[i-2];
}
假设您知道大型阵列的大小为200-
s = 0;
for (l = 200 ; l > 197 ; l--) {
x[s] = w[l];
s++;
}
更新依据:
w[2] = w[1];
w[1] = w[0];
w[0] = x[i];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.