如何获取数组中索引的总和

How to get sum of indexed in array

本文关键字:索引 数组 何获取 获取      更新时间:2023-10-16

有我正在缠绕的整数数组,是否有可能获得所需范围内的索引总和?

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

假设我想获取索引数 4 每边 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,依此类推。现在如何将索引转换为 int?我想把 531 的索引放进

int x;

怎么办?

要在数组中查找元素的索引(例如 531),您可以使用std::find

auto result1 = std::find(std::begin(pointX), std::end(pointX), 531);

这会将迭代器返回到数组中第一次出现的 531,您可以通过以下方式获取索引(如果未找到元素,则为 -1)

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

PS:这回答了您更新中的问题,但是,我仍然不太明白问题的其余部分是什么(没有冒犯,如果您的英语不太好,请继续尝试;)。