Miten voisin asettaa tiettyn vectorin muuttujan arvojärjestykseen.
Siis vectorit joista katson jonkun arvon ja ne laitetaan järjestykseen.
esim jos vectoriin on tallennettu tietoa:
nimi, pisteet
Niin ne laitetaan järjestykseen arvosta pisteet.
No vaikka näin
#include <iostream> #include <algorithm> #include <vector> class Pelaaja { std::string nimi; double pisteet; public: Pelaaja(std::string nimi_, double pisteet_) { this->nimi = nimi_; this->pisteet = pisteet_; } std::string anna_nimi() { return this->nimi; } double anna_pisteet() { return this->pisteet; } bool operator <(const Pelaaja& b) const { return (this->pisteet < b.pisteet); } }; int main() { std::vector <Pelaaja> Pelurit; Pelurit.push_back(Pelaaja("Juha", 12.46)); Pelurit.push_back(Pelaaja("Seppo", 22.46)); Pelurit.push_back(Pelaaja("Janne", 15.46)); Pelurit.push_back(Pelaaja("Pekka", 1.46)); std::sort(Pelurit.begin(), Pelurit.end()); for (unsigned int i = 0; i < Pelurit.size(); ++i) { std::cout << Pelurit[i].anna_nimi() << " " << Pelurit[i].anna_pisteet() << std::endl; } return 0; }
Konsoli kirjoitti:
Pekka 1.46
Juha 12.46
Janne 15.46
Seppo 22.46Process returned 0 (0x0) execution time : 0.016 s
Aihe on jo aika vanha, joten et voi enää vastata siihen.