/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby,
C#, VB, Perl, Swift, Prolog, Javascript, Pascal, HTML, CSS, JS
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
#include <map>
#include <vector>
#include <utility>
#include <iostream>
#include <float.h>
std::pair<int,float> column_max(const std::map<int,std::vector<float>> & m, int column)
{
int index = -1;
float maximum = -FLT_MAX;
for (std::map<int,std::vector<float>>::const_iterator entry=m.begin(); entry!=m.end(); entry++)
if (entry->second.size() > column && entry->second[column] > maximum)
{
index = entry->first;
maximum = entry->second[column];
}
return std::make_pair(index,maximum);
}
int main()
{
const std::map<int,std::vector<float>> m =
{
{0, { 1, 5, 10, 22}},
{1, {31, 5, 10, 12}},
{2, { 1, 15, 18, 12}}
};
for (int i=0; i<4; i++)
{
std::pair<int,float> value = column_max(m,i);
std::cout << "#" << i << ": " << value.second << " " << value.first << "\n";
}
return 0;
}