• Выведите фамилии и имена учащихся в порядке убывания их среднего балла.
    Входные данные
    Заданы сначала количество учащихся n, затем n строк, каждая из которых содержит фамилию, имя и три числа (оценки по трем предметам: математике, физике, информатике). Данные в строке разделены одним пробелом. Оценки принимают значение от 1 до 5.
    Выходные данные Необходимо вывести пары фамилия-имя по одной на строке, разделяя фамилию и имя одним пробелом. Выводить оценки не нужно. Если несколько учащихся имеют одинаковые средние баллы, то их нужно выводить в порядке, заданном во входных данных.
    Sample Input:
    3
    Markov Valeriy 5 5 5
    Sergey Petrov 1 1 1
    Petrov Petr 3 3 3
    Sample Output:
    Markov Valeriy
    Petrov Petr
    Sergey Petrov

Ответы 6

  • Поправил вывод
  • Failed test #17. Wrong answer
    • Автор:

      landon195
    • 6 лет назад
    • 0
  • выводит Failed test #17. Wrong answer
    • Автор:

      indyzbwp
    • 6 лет назад
    • 0
  • https://pastebin.com/XdrZ1X6R а так?
  • да всё работает, спасибо
  • #include <iostream>#include <cstring>#include <vector>#include <algorithm>struct StudentData{    std::string name;    std::string surname;    int math;    int phys;    int comp_science;};boolcomp(const StudentData &a, const StudentData &b){    int tmp1 = a.math + a.phys + a.comp_science;    int tmp2 = b.math + b.phys + b.comp_science;    return tmp1 > tmp2 ? true : false;}intmain(void){    int n;    std::cin >> n;    std::vector< StudentData > data(n);    for (int i = 0; i < n; i++) {        std::cin >> data[i].name >> data[i].surname;        std::cin >> data[i].math >> data[i].phys >> data[i].comp_science;    }    std::sort(data.begin(), data.end(), comp);    for (int i = 0; i < n; i++) {        std::cout << data[i].name << " " << data[i].surname << std::endl;    }    return 0;}
    • Автор:

      cody95
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years