Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Vectorit järjestykseen [C++]

mika132 [28.02.2011 18:16:14]

#

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.

Teuro [28.02.2011 18:36:53]

#

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.46

Process returned 0 (0x0) execution time : 0.016 s

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta