#include <iostream>
using namespace std;
template<typename T>
T clampValue(T val, T minVal, T maxVal) {
if (val < minVal) return minVal;
if (val > maxVal) return maxVal;
return val;
}
int main() {
int minVal, maxVal, val;
cin >> minVal >> maxVal;
cin >> val;
cout << "Clamped Value: " << clampValue(val, minVal, maxVal) << "\n";
return 0;
}
Solution Explanation
clampValue<T>
works for integers, floats, or other comparable types.minVal
maxVal
, then the value to be clamped.min
and max
.
Layman’s Terms
Think of it like setting safety rails: if a reading goes below the minimum, lift it up; if it goes above the maximum, push it down.
Significance for Embedded Developers
Clamping is essential when:
Input
0 10 5
Expected Output
Clamped Value: 5