#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct person {
string name;
int age;
};
typedef person const &person_view;
namespace compare_person {
bool by_age(person_view lhs, person_view rhs) {
return lhs.age < rhs.age;
}
}
int main() {
person people[] = {
{"Jasiek ", 26},
{"Stasiek", 53},
{"Piotrek", 16},
{"Pawel", 19}
};
sort(people, people + sizeof people / sizeof *people,compare_person::by_age);
for(person_view person: people) {
cout << person.name << ": " << person.age << "\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCnN0cnVjdCBwZXJzb24gewogICAgc3RyaW5nIG5hbWU7CiAgICBpbnQgYWdlOwp9Owp0eXBlZGVmIHBlcnNvbiBjb25zdCAmcGVyc29uX3ZpZXc7CiAKbmFtZXNwYWNlIGNvbXBhcmVfcGVyc29uIHsKICAgIGJvb2wgYnlfYWdlKHBlcnNvbl92aWV3IGxocywgcGVyc29uX3ZpZXcgcmhzKSB7CiAgICAgICAgcmV0dXJuIGxocy5hZ2UgPCByaHMuYWdlOwogICAgfQp9CiAKaW50IG1haW4oKSB7CiAgICBwZXJzb24gcGVvcGxlW10gPSB7CiAgICAgICAgeyJKYXNpZWsgIiwgMjZ9LAogICAgICAgIHsiU3Rhc2llayIsIDUzfSwKICAgICAgICB7IlBpb3RyZWsiLCAxNn0sCiAgICAgICAgeyJQYXdlbCIsIDE5fQogICAgfTsKIAogICAgc29ydChwZW9wbGUsIHBlb3BsZSArIHNpemVvZiBwZW9wbGUgLyBzaXplb2YgKnBlb3BsZSxjb21wYXJlX3BlcnNvbjo6YnlfYWdlKTsKIAogICAgZm9yKHBlcnNvbl92aWV3IHBlcnNvbjogcGVvcGxlKSB7CiAgICAgICAgY291dCA8PCBwZXJzb24ubmFtZSA8PCAiOiAiIDw8IHBlcnNvbi5hZ2UgPDwgIlxuIjsKICAgIH0KIAogICAgcmV0dXJuIDA7Cn0=