c++vector指定范围求和
时间: 2024-11-04 20:07:40 浏览: 16
C++实现 vector 的四则运算
5星 · 资源好评率100%
在C++中,如果你想要计算`std::vector`中某个特定范围内的元素之和,可以使用迭代器或者直接访问下标的方式。这里提供两种常见的方法:
1. **使用迭代器**:
```cpp
#include <iostream>
#include <vector>
int sum_in_range(const std::vector<int>& vec, int start, int end) {
int sum = 0;
for (auto it = vec.begin() + start; it != vec.begin() + end; ++it) {
sum += *it;
}
return sum;
}
int main() {
std::vector<int> numbers {1, 2, 3, 4, 5};
int result = sum_in_range(numbers, 1, 3); // 求从索引1到3的元素和
std::cout << "Sum of elements from index 1 to 3 is: " << result << std::endl;
return 0;
}
```
2. **直接访问下标**:
```cpp
int sum_in_range_2(const std::vector<int>& vec, int start, int end) {
int sum = 0;
for (int i = start; i < end && i < vec.size(); i++) {
sum += vec[i];
}
return sum;
}
// 使用方法同上
```
在上述代码中,`sum_in_range`函数接受一个范围(start, end),并返回在这个范围内所有元素的和。
阅读全文