我需要一种方法将大型数组的最新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'
}
答案 0 :(得分:0)
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];
}
答案 1 :(得分:0)
假设您知道大型数组的大小为200 -
s = 0;
for (l = 200 ; l > 197 ; l--) {
x[s] = w[l];
s++;
}
答案 2 :(得分:0)
根据以下更新:
w[2] = w[1];
w[1] = w[0];
w[0] = x[i];