Jak to posortowac? Wg. li.

0

Może innaczej: jak posortować zmienne w tablicy struktur.

0

Według czego posortować i dlaczego kod nie jest sformatowany?

0

Wedlug pól li w tablicy

0
  1. zapoznaj się z pojęciem formatowania kodu: http://4programmers.net/Forum/998482
  2. Zlikwiduj smrodek przy inkrementacji: http://4programmers.net/Forum/1101404
  3. Wstaw kod do znaczników <``code=cpp>tu kod<``/code>
  4. Doprowadź do stanu kompilowalności - jeżeli nie umiesz to wróć do książki lub kursu
1

Wystarczy podać do std::sort komparator (np. lambdę) albo przeładować operator< w strukturze

#include <iostream>
#include <string>
#include <iterator>
#include <algorithm>
#include <vector>
using namespace std;
 
struct Osoba
{
	size_t wiek;
	string imie;
 
	bool operator<( const Osoba &rhs ) const
	{
		return wiek < rhs.wiek;
	}
};
 
std::ostream& operator<<(std::ostream& s, const Osoba& osoba)
{
    return s << osoba.wiek << " " << osoba.imie;
}
 
int main() {
 
	vector<Osoba> osoby{
		{ 19, "mateusz" },
		{ 13, "jan" },
		{ 20, "matek" },
		{ 200, "cos" },
		{ 133, "asia" }	
	};
 
	sort( osoby.begin(), osoby.end() );
 
	copy( osoby.begin(),
		  osoby.end(),
		  ostream_iterator<Osoba>( cout, "\n" ) );
 
	return 0;
}

http://ideone.com/j0mQ3s

0

Dzięki o to mi chodziło

1 użytkowników online, w tym zalogowanych: 0, gości: 1