Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct AvgYear
- {
- AvgYear() : m_game() {}
- bool operator()(const BoardGame & m_game)
- {
- for (size_t i = 0; i < m_GamesByYear.size(); i++)
- {
- if (m_GamesByYear[i][0].year == m_game.year)
- {
- m_GamesByYear[i].push_back(m_game);
- return true;
- }
- }
- m_GamesByYear.push_back(vector<BoardGame>{m_game});
- return false;
- }
- BoardGame m_game;
- vector<vector<BoardGame>> m_GamesByYear;
- };
- std::ostream & operator << (std::ostream & stream, const AvgYear & avgYear)
- {
- float HeighestAverage = 0.0f;
- int yearOfMaxAvg = 0;
- for (size_t i = 0; i < avgYear.m_GamesByYear.size(); i++)
- {
- float average = 0.0f;
- for (size_t e = 0; e < avgYear.m_GamesByYear[i].size(); e++)
- {
- average += (avgYear.m_GamesByYear[i][e].rating);
- }
- average = average / avgYear.m_GamesByYear[i].size();
- if (HeighestAverage< average)
- {
- HeighestAverage = average;
- yearOfMaxAvg = avgYear.m_GamesByYear[i][0].year;
- }
- }
- stream << "The best average score for one year was " << HeighestAverage << " in the year " << yearOfMaxAvg;
- return stream;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement