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.