KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I've been doing a basic program to find the max, min, median, variance, mode etc. of a vector. Everything went fine until I got to the mode. The way I see it, I should be able to loop through the vector, and for each number that occurs I increment a key on the map. Finding the key with the highest value would then be the one that occurred the most. Comparing to other keys would tell me if it's a single multiple or no mode answer. Here's the chunk of code that's been causing me so much trouble. map<int,unsigned> frequencyCount; // This is my attempt to increment the values // of the map everytime one of the same numebers for(size_t i = 0; i < v.size(); ++i) frequencyCount[v[i]]++; unsigned currentMax = 0; unsigned checked = 0; unsigned maax = 0; for(auto it = frequencyCount.cbegin(); it != frequencyCount.cend(); ++it ) //checked = it->second; if (it ->second > currentMax) { maax = it->first; } //if(it ->second > currentMax){ //v = it->first cout << " The highest value within the map is: " << maax << endl; The entire program can be seen here. http://pastebin.com/MzPENmHp
Tags (comma-separated)
Save Edits
Cancel