// Solution to Exercise 16
// (NDE, 2013-01-07)
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
// Populate vector with data
vector<double> data;
int num_values;
cout << "How many values do you want? ";
cin >> num_values;
for (int i = 0; i < num_values; ++i) {
double value;
cout << "Enter a value: ";
cin >> value;
data.push_back(value);
}
int n = data.size();
cout << "Vector has " << n << " elements" << endl;
// Compute and display median
sort(data.begin(), data.end());
int middle = n/2;
if (n % 2 == 0) {
double median = 0.5*(data[middle-1] + data[middle]);
cout << "Median = " << median << endl;
}
else {
cout << "Median = " << data[middle] << endl;
}
return 0;
}