У меня есть вектор пар в этом порядке {{метка, вероятность}, {метка, вероятность}}. Я хочу получить пару, которая имеет максимальное значение вероятности. Вот моя попытка сделать это, но вместо того, чтобы получить максимальное значение вероятности, он возвращает максимальное значение строки метки. например метка собака является наибольшим значением из-за алфавитного порядка.
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
int main()
{
std::vector<std::pair<std::string, float>> pairs;
pairs = {{"apple",34.785}, {"banana",67.8467}, {"dog", 13.476}, {"cat",56.486}};
const auto p = max_element(pairs.begin(), pairs.end());
auto label = p->first;
auto prob = p->second;
std::cout<<label<<" "<<prob;
}
Выход: dog 13.476