01: #include <iostream>
02: #include <vector>
03: using namespace std;
04: /**
05: Returns the positions of all values within a range
06: @param v a vector of floating-point numbers
07: @param low the low end of the range
08: @param high the high end of the range
09: @return a vector of positions of values in the given range
10: */
11: vector<int> find_all_between(vector<double> v,
12: double low, double high)
13: { vector<int> pos;
14: for (int i = 0; i < v.size(); i++)
15: if (low <= v[i] && v[i] <= high)
16: pos.push_back(i);
17:
18: return pos;
19: }
20:
21: int main()
22: { vector<double> salaries(5);
23: salaries[0] = 35000.0;
24: salaries[1] = 63000.0;
25: salaries[2] = 48000.0;
26: salaries[3] = 78000.0;
27: salaries[4] = 51500.0;
28:
29: vector<int> matches
30: = find_all_between(salaries, 45000.0, 65000.0);
31:
32: for (int j = 0; j < matches.size(); j++)
33: cout << salaries[matches[j]] << "\n";
34: return 0;
35: }