繁体   English   中英

C ++将大型数组中的最新值存储在单独的数组中

[英]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.

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