添加元素对

时间:2013-11-07 20:46:54

标签: arrays for-loop

所以我在这里有一个数字/数组表 A = [1,2,3,4,5,6],指数为A [0] = 1,A [1] = 2 ... A [i = 5] = 6等。

现在我想基本上取每两个元素的平均值,这样我得到的数组如下:

B = [1.5,3.5,5.5],其中B [0] =(A [0] + A [1])/ 2,B [1] =(A [2] + A [3])/ 2,B [2] =(A [4] + A [5])/ 2

我的代码一直在考虑添加,(A [1] + A [2])/ 2等错误,给我以下结果数组,

[1.5, 2.5 ,3.5, 4.5 ,5.5]

我不需要粗体元素。我不确定为什么会这样,但这就是我所拥有的:

for(i=0; i<=5; i+=1)
    B[i] = (A[i] + A[i+1])/2 
    for(j=i+(i+2); j<=5; j+=1)
       B[j] =  (A[j]+ A[j+1])/2
    endfor
endfor

谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:0)

for循环中使用不同的增量:

j=0
for (i=0;i<=5;i+=2)
  B[j]=(A[i]+A[i+1])/2
  j+=1
end for

并且您不需要第二个内循环。

答案 1 :(得分:0)

我认为你使这比现在更复杂。在计算中需要数组中的前2个值,然后需要接下来的2个值等。这只需要在数组中循环1个。

这样的事情:

j = 0 
for(i=0; i<=5; i+=2)
    B[j] = (A[i] + A[i+1])/2 
    j += 1
endfor

您可能需要检查A中是否存在相同数量的值,否则A[i+1]可能会导致错误。