vector<tuple<int, int,char>> array;
for(int i=0;i<m-1;i++)
{
long long int p;
cin>>p;
get<0>(x)=p;//updated value
get<1>(x)=get<0>(x);//real value
get<2>(x)='v';
array.push_back(x);
}
sort(array.begin(),array.end());
reverse(array.begin(),array.end());
//how to get the maximum of the second field
//to to element with largest first field
//and then delete the tuple
glaube, ich habe ein Array von Datentyp Tupel als int, int, char
, beispielsweise (5,5 h), (5,2, H), (5,7, v), (3,1, h); (3,7, h); (1,1, v). Es ist bereits in absteigender Reihenfolge nach dem ersten Wert sortiert, Jetzt möchte ich den Teil finden, der größten ersten Wert mit größten zweiten Wert enthält? Also muss ich nur in den ersten drei Teilen suchen. Gibt es eine Möglichkeit, max() hier oder andere STL-Funktionen zu verwenden?Wie findet man den Maximalwert in einem Vektor von Tupeln?
Von verwenden kann, was ich sehe , Sie haben nicht nur nach dem ersten Wert sortiert; Du hast das ganze Tupel sortiert. Ist das nicht so? –