1 ejemplo que tenog es el sieguiente:
Entrada:
USA 34 20 13
Mexico 1 1 4
China 28 14 19
Argentina 0 1 1
Salida:
USA
China
Mexico
Argentina
pues para llegar a la salida tengo que compar las primeras columnas, despues las 2das y despues las 3ras, es oro plata y bronce y asi me quedo con el nombre del mejor pais.
Estos datos los he almacenado en un vector de struct, pero al implementar la funcion compare no me funcione como debe ser el criterio de comparacion, en que estoy mal?
estoy probando con 1 ejemplo sencillo primero..aqui le pongo algo..
Código:
saludos#include <iostream> #include <stdio.h> #include <string.h> #include <vector> #include <algorithm> using namespace std; struct date { int a, b; }; bool compare(date x, date y ) { if ( x.a > y.a ) return true; else if ( x.a < y.a ) return false; return 0; } int main () { vector<date> vect; date x; x.a = 5; x.b = 9; date y; y.a = 5; y.b = 7; date z; z.a = 5; z.b = 99; vect.push_back(x); vect.push_back(y); vect.push_back(z); sort(vect.begin(), vect.end(), compare); for (int i =0; i < vect.size(); i++) cout<< vect[i].a <<" "<<vect[i].b << endl; system("pause"); }
mariam