c++ vector元素减去同一个值
时间: 2023-07-17 14:01:56 浏览: 197
要将C++中的vector中的每个元素减去同一个值,你可以使用循环遍历vector并对每个元素执行减法操作。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
// 示例数据
vector<int> numbers = {10, 20, 30, 40, 50};
int subtract_value = 5;
// 对每个元素执行减法操作
for (int i = 0; i < numbers.size(); i++) {
numbers[i] -= subtract_value;
}
// 输出结果
cout << "减去" << subtract_value << "后的vector元素:" << endl;
for (int i = 0; i < numbers.size(); i++) {
cout << numbers[i] << " ";
}
cout << endl;
return 0;
}
```
上述代码使用循环遍历vector中的每个元素,并对其执行减法操作。输出结果为每个元素减去指定值后的结果。
希望对你有所帮助!如果你还有其他问题,请随时提问。
相关问题
在vector中查找string元素 索引值
可以使用 `std::find` 函数查找一个字符串元素是否存在于 vector 中,并通过迭代器计算出该元素在 vector 中的索引值,示例代码如下:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<std::string> vec = {"apple", "banana", "orange", "pear"};
std::string target = "orange";
auto iter = std::find(vec.begin(), vec.end(), target);
if (iter != vec.end()) {
int index = iter - vec.begin();
std::cout << "Found " << target << " at index " << index << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
return 0;
}
```
在上面的代码中,我们定义了一个存储字符串的 vector,然后使用 `std::find` 函数查找字符串 "orange" 是否存在于 vector 中。如果找到了,函数会返回指向该元素的迭代器,否则返回 vector 的尾部迭代器。我们可以通过迭代器减去 vector 开头的迭代器 `vec.begin()` 来计算出该元素在 vector 中的索引值,并输出到终端中。
c++vector容器erase的用法
c++中的vector容器提供了erase()函数来删除容器中的元素。erase()函数有多种用法,可以删除指定位置的元素,也可以删除指定范围内的元素。
以下是erase()函数的用法示例:
1. 删除指定位置的元素:
```c++
vector<int> v5 = {1, 2, 3, 4, 5};
v5.erase(v5.begin()); // 删除头部元素
```
2. 删除指定范围内的元素:
```c++
vector<int> v5 = {1, 2, 3, 4, 5};
v5.erase(v5.begin(), v5.end()-1); // 删除除最后一个元素外的所有元素
```
注意:在删除指定范围内的元素时,需要将end()迭代器减去1,以指向最后一个元素。
3. 遍历vector并计算元素的总和:
```c++
vector<int> v5 = {1, 2, 3, 4, 5};
int sum = 0;
for(vector<int>::iterator it = v5.begin(); it != v5.end(); it++){
sum += (*it);
}
cout << sum << endl; // 输出:15
```