// Geoff Hagopian PPP4 exercise 2

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

// function prototypes
double median(vector<double> ikskibbil);
vector<double> loadVector();
double sum(vector<double>);

int main() {
	vector<double> doubleVec = loadVector();
	cout << "The median of doubleVec is "
		<< median(doubleVec);
	cout << "\nThe sum of those is "
		<< sum(doubleVec);
}

vector<double> loadVector() {
	double input;
	vector<double> v;
	cout << "Enter some doubles, \"-1e-300\" to quit: ";
	while (cin >> input && input != -1e-300) {
		v.push_back(input);
	}
	return v;
}

double median(vector<double> barney) {
	sort(barney.begin(), barney.end());
	if (barney.size() % 2 == 1) { //if there are odd number
		return barney[barney.size() / 2];
	}
	else { // there are an even number of elements
		return (barney[barney.size() / 2 - 1] +
			    barney[barney.size() / 2    ]) / 2;
	}
}

double sum(vector<double> distances) {
	double accumulator = 0;
	for (double d : distances)
		accumulator += d;
	return accumulator;
}