C ++ Помогите найти максимальное значение на карте

Я делал базовую программу для нахождения максимума, минимума, медианы, дисперсии, режима и т. Д. Вектора. Все шло нормально, пока не добрался до режима.

Как я это вижу, я должен иметь возможность перебирать вектор, и для каждого встречающегося числа я увеличиваю ключ на карте. Тогда поиск ключа с наивысшим значением будет наиболее частым. Сравнивая с другими ключами, я могу сказать, является ли это ответ с одним множественным или без режима.

Вот кусок кода, который доставлял мне столько проблем.

map 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;

Полную программу можно посмотреть здесь. http://pastebin.com/MzPENmHp

38
задан morxa 13 July 2017 в 10:42
поделиться