C++ 一个数组,让数组中波动大的数值变成允许范围内的波动
时间: 2024-09-10 21:23:52 浏览: 44
在C++中,如果你有一个数组,其中某些数值波动很大,而你想要将它们限制在某个特定的范围内,你可以采用多种方法。这通常涉及到遍历数组,检查每个元素,然后根据需要调整它。以下是一个基本的例子,使用`std::min`和`std::max`函数来确保数组元素保持在指定范围内:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
void clampArrayValues(std::vector<int>& arr, int lowerBound, int upperBound) {
for (int& value : arr) {
value = std::min(std::max(value, lowerBound), upperBound); // 确保值不会低于lowerBound且高于upperBound
}
}
int main() {
std::vector<int> array = {10, 200, 3000, -50, 10000};
int lowerLimit = 50; // 指定下限
int upperLimit = 1000; // 指定上限
clampArrayValues(array, lowerLimit, upperLimit);
for (const auto& num : array) {
std::cout << num << " ";
}
std::cout << "\n";
return 0;
}
```
在这个例子中,`clampArrayValues`函数接收一个整数向量`arr`以及两个界限值`lowerBound`和`upperBound`。它遍历数组,如果发现某元素超出这两个边界,就将其设置为边界值。之后,数组中的所有元素都将被限制在给定的允许范围内。
阅读全文