У меня есть карта типаКак оценивать значения в паре от 0 до 1? (Без использования C++ 11 или выше)
map <unsigned, vector < pair <unsigned, float> > > group
Когда распечатывается, то float
часть занимает и данных выглядит так:
Необработанные данные
0 43 0
0 3690 0
0 5085 62
0 6085 63
0 977 121
0 4138 142
1 1515 0
1 2863 0
1 6593 64
1 252 96
1 2887 141
Я пытаюсь в настоящее время ранжировать float
часть (третий столбец из печати) от 0 до 1, таким образом, что обработанные данные выглядит так:
Обработанные данные
0 43 0
0 3690 0
0 5085 0.4
0 6085 0.6
0 977 0.8
0 4138 1
1 1515 0
1 2863 0
1 5593 0.4
1 6593 0.6
1 252 0.8
1 2887 1
Я выполнил некоторые рейтинги, но никогда на pair
и никогда от 0 - 1 (как правило, от 0 до размера вектора).
Любые руководства или решения будут высоко оценены, поскольку я чувствую себя совершенно потерянным в том, как подойти к нему.
max_element (с пользовательской компаратором для проверки.), а затем for_each? – Borgleader
Почему бы просто не перебрать карту, чтобы найти наибольшее значение третьего столбца, и использовать ее на втором проходе для вычисления нормализованного значения? –
@SergeBallesta Потому что я не уверен, как его написать. Я думаю, что в любом случае я подхожу к нему, ему нужно найти наивысшую ценность и просеять его путь через потом. – Newskooler