#include #include #include #include #include #include using namespace std; int main() { ifstream ifs{"valresultat.txt"}; vector results{}; copy(istream_iterator (ifs), istream_iterator (), back_inserter(results)); // sort(begin(results), end(results), // [] (int x, int y) {return x > y;}); sort(begin(results), end(results), greater{}); int total_votes{accumulate(begin(results), end(results), 0)}; vector percentages(results.size()); transform(begin(results), end(results), begin(percentages), [total_votes] (int i) {return i/ static_cast (total_votes);}); vector mandates(percentages.size()); transform(begin(percentages), end(percentages), begin(mandates), [] (double d) {return static_cast(d*349);}); int total_mandates{accumulate(begin(mandates), end(mandates), 0)}; transform(begin(mandates), next(begin(mandates), 349-total_mandates), begin(mandates), [] (int i) {return i+1;}); total_mandates = accumulate(begin(mandates), end(mandates), 0); copy(begin(mandates), end(mandates), ostream_iterator (cout, "\n")); cout << "totalt antal mandat: " << total_mandates << endl; }