#include #include #include using namespace std; class Optimizer { public: Optimizer(int i): limit{i}, table{} {} Optimizer(): limit{0}, table{} {} void set_limit(int i) { limit = i; } void read(vector const& ids) { for ( long unsigned int id: ids ) { table[id] += 1; } } void print() { for ( auto line: table ) { if ( line.second >= limit ) { cout << "File " << line.first << ": " << line.second << '\n'; } } cout << endl; } private: int limit; map table; }; int main() { Optimizer opt{2}; vector file_ids1{1, 2, 1, 4, 128, 1, 2, 4}; vector file_ids2{4, 1, 1, 4, 128, 128, 5, 1, 4}; opt.read(file_ids1); opt.print(); opt.set_limit(3); opt.print(); opt.read(file_ids2); opt.set_limit(0); opt.print(); }