#include #include #include #include #include #include using namespace std; int main() { // 1 vector values { istream_iterator{cin}, istream_iterator{} }; // 2 cout << values.size() << " values read.\n"; copy(begin(values), end(values), ostream_iterator{cout, " "}); //3 sort(begin(values), end(values), std::greater{}); //4 values.erase(unique(begin(values), end(values)), end(values)); //5 cout << "\nUnique values in descending order:\n"; copy(begin(values), end(values), ostream_iterator{cout, " "}); //6 int num = 0.05 * values.size(); //7 values.erase(begin(values), begin(values) + num); values.erase(end(values) - num, end(values)); cout << "\nSmallest and largest values removed.\n"; copy(begin(values), end(values), ostream_iterator{cout, " "}); //8 (important to have the correct type auto mean { accumulate(begin(values), end(values), 0.0) / values.size() }; cout << "\nMean value: " << setprecision(1) << fixed << mean << endl; //9 auto sum { accumulate(begin(values), end(values),0.0, [mean](double s,auto v){return s+abs(v-mean);}) }; cout << "Sum of differences: " << sum; }