#include <iostream>
#include <algorithm>
typedef struct {
std::string name;
std::string surname;
int test;
} StudentsType;
int main () {
StudentsType student[3] = {
{name: "Иван", surname: "Иванов", test: 3},
{name: "Петр", surname: "Петров", test: 2},
{name: "Степан", surname: "Степанов", test: 4}
};
std::cout << "\nДо сортировки:" << std::endl;
for(const auto &i:student) std::cout << i.surname << " " << i.name << " : " << i.test << std::endl;
std::sort(std::begin(student),std::end(student),[&](StudentsType &one, StudentsType &two) {
return one.test>two.test;
});
std::cout << "\nПосле сортировки:" << std::endl;
for(const auto &i:student) std::cout << i.surname << " " << i.name << " : " << i.test << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdHlwZWRlZiBzdHJ1Y3QgewogIHN0ZDo6c3RyaW5nIG5hbWU7CiAgc3RkOjpzdHJpbmcgc3VybmFtZTsKICBpbnQgdGVzdDsKfSBTdHVkZW50c1R5cGU7CgoKaW50IG1haW4gKCkgewogIFN0dWRlbnRzVHlwZSBzdHVkZW50WzNdID0gewogICAge25hbWU6ICLQmNCy0LDQvSIsIHN1cm5hbWU6ICLQmNCy0LDQvdC+0LIiLCB0ZXN0OiAzfSwKICAgIHtuYW1lOiAi0J/QtdGC0YAiLCBzdXJuYW1lOiAi0J/QtdGC0YDQvtCyIiwgdGVzdDogMn0sICAgICAgCiAgICB7bmFtZTogItCh0YLQtdC/0LDQvSIsIHN1cm5hbWU6ICLQodGC0LXQv9Cw0L3QvtCyIiwgdGVzdDogNH0gICAgICAKICB9OwogIHN0ZDo6Y291dCA8PCAiXG7QlNC+INGB0L7RgNGC0LjRgNC+0LLQutC4OiIgPDwgc3RkOjplbmRsOwogIGZvcihjb25zdCBhdXRvICZpOnN0dWRlbnQpIHN0ZDo6Y291dCA8PCBpLnN1cm5hbWUgPDwgIiAiIDw8IGkubmFtZSA8PCAiIDogIiA8PCBpLnRlc3QgPDwgc3RkOjplbmRsOyAgCiAgc3RkOjpzb3J0KHN0ZDo6YmVnaW4oc3R1ZGVudCksc3RkOjplbmQoc3R1ZGVudCksWyZdKFN0dWRlbnRzVHlwZSAmb25lLCBTdHVkZW50c1R5cGUgJnR3bykgewogICAgcmV0dXJuIG9uZS50ZXN0PnR3by50ZXN0OyAgICAKICB9KTsgICAgCiAgc3RkOjpjb3V0IDw8ICJcbtCf0L7RgdC70LUg0YHQvtGA0YLQuNGA0L7QstC60Lg6IiA8PCBzdGQ6OmVuZGw7CiAgZm9yKGNvbnN0IGF1dG8gJmk6c3R1ZGVudCkgc3RkOjpjb3V0IDw8IGkuc3VybmFtZSA8PCAiICIgPDwgaS5uYW1lIDw8ICIgOiAiIDw8IGkudGVzdCA8PCBzdGQ6OmVuZGw7ICAgIAogIHJldHVybiAwOyAgICAgICAgCn0=