如何获取数组索引的总和

时间:2016-06-08 12:55:19

标签: c++ arrays

有一些我认为可以得到的数据,是否可以获得所需范围内的指数总和?

int pointX[LENGHT] = {0,531,710,1067,1537,1903,2121,2434,2738,3031,...};

说我希望将每个索引4的数量值= 1903作为int。 所以...我希望有类似的东西:

x0 = 6
xN1 = 5 

(xN1 - 来自被查看号码的x-1位置)

xN2 = 4
xN3 = 3
xN4 = 2

(对于数组中的正数)

x1 = 7
x2 = 8

......等等。 所以总和我可以:

sum = xN4 + xN3 + xN2 + xN1 + x + x1 + x2 + x3 + x4;

更新:

在上面的数组0中有索引0,531有索引1和soo on。现在如何将索引导入int?我想将531的索引放入

int x;

怎么做?

1 个答案:

答案 0 :(得分:2)

要查找数组中元素的索引(例如531),可以使用auto result1 = std::find(std::begin(pointX), std::end(pointX), 531);

int index = (result1 == std::end(pointX)) ? -1 : std::begin(pointX) - result1;

这将返回一个迭代器到数组中第一个出现的531,你可以通过

获得索引(如果找不到元素,则返回-1)
enum AIState { Asleep, Idling, Chasing, Fleeing, HavingLunch };
PS:这回答了你的更新中的问题,但是,我仍然不明白其余问题是什么(没有冒犯,如果你的英语不太好,只要继续尝试;)。