Skip to main content

ex16.cpp


// 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;
}