所以我在这里有一个数字/数组表 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
谁能告诉我我做错了什么?
答案 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]
可能会导致错误。