Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TheSN
153 / 95 / 12
Регистрация: 25.02.2012
Сообщений: 232
#1

Выведите фамилии и имена учащихся в порядке убывания их среднего балла - C++

18.11.2013, 10:18. Просмотров 993. Ответов 2
Метки нет (Все метки)

Помогите, пожалуйста, с решением, последний тест не проходит, пишет "превышено максимальное время работы".
Вместо пузырька вставляли другие сортировки, ничего не помогло.

Задание

Выведите фамилии и имена учащихся в порядке убывания их среднего балла.

Формат входных данных

Заданы сначала количество учащихся n, затем n строк, каждая из которых содержит фамилию, имя и три числа (оценки по трем предметам: математике, физике, информатике). Данные в строке разделены одним пробелом. Оценки принимают значение от 1 до 5.

Формат выходных данных

Необходимо вывести пары фамилия-имя по одной на строке, разделяя фамилию и имя одним пробелом. Выводить оценки не нужно. Если несколько учащихся имеют одинаковые средние баллы, то их нужно выводить в порядке, заданном во входных данных.


Мое решение


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <cstring>
using namespace std;
struct base {
       string fam;
       string im;
       int sr;
};
 
int main() {
    long n;
    cin >> n;
    base a[n];
    int m1 = 0, m2 = 0, m3 = 0;
    for (long i = 0; i < n; i++) {
        cin >> a[i].fam >> a[i].im >> m1 >> m2 >> m3;
        a[i].sr = m1 + m2 + m3;
    }
    for (long i = 1; i < n; i++) {
        for (long j = n - 1; j >= i; j--) {
            if (a[j].sr > a[j - 1].sr) swap(a[j], a[j - 1]);
        }
    }   
    for (long i = 0; i < n; i++) {
        cout << a[i].fam << " " << a[i].im << endl;
    }
    system("pause");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2013, 10:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выведите фамилии и имена учащихся в порядке убывания их среднего балла (C++):

Выведите фамилии и имена студентов в порядке убывания их среднего балла - C++
Выведите фамилии и имена студентов в порядке убывания их среднего балла

Сортировка структур в порядке убывания среднего балла - C++
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. Перепишите задачу в сообщение ...

Вывести студентов в порядке убывания среднего балла - C++
дан список студентов и список предметов,по которому сдавался экзамен. известны оценки по каждому предмету. разработать алгоритм и привести...

Составить список учащихся в списке в порядке убывания - C++
Имеется список учащихся класса с указанием роста каждого из них. Выяс- нить, перечислены ли ученики в списке в порядке убывания их...

Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае. - C++
пробовала сделать ,но выдаёт ошибки я не понимаю,что он требует ТЕКСТ ЗАДАЧИ. Даны два целых числа A и В (каждое в отдельной...

Структура. Вывести информацию по студентам в порядке уменьшения среднего балла - C++
Есть вот такая задача: В деканате хранится следующая информация о студентах: ФИО, номер группы, оценки за последнюю сессию. Вывести...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.11.2013, 10:24 #2
Почему не файл с данными, а ручной ввод?
0
d1skort
20 / 20 / 0
Регистрация: 10.02.2013
Сообщений: 75
18.11.2013, 14:19 #3
Пузырьковая сортировка? Ее временная сложность - O(n^2)

Судя по заданию тебе нужна устойчивая сортировка.
Используй сортировку слиянием. Временная сложность - O(n*lgn)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2013, 14:19
Привет! Вот еще темы с ответами:

Вывести имена файлов в порядке убывания размера файла - C++
Имеется файл со строками : body.docx 13456 lab.docx 4567 con.docx 17654 bre.docx 24567 l2.docx 11124 Как вывести имена...

Выведите количество выпущенных цехом изделий по указанному наименованию в порядке убывания их количества - C++
Различные цеха завода выпускают продукцию нескольких наименований. Сведения о выпущенной продукции включают: • наименование; ...

Расставить учащихся с указаниям роста. Выяснить, перечислены ли ученики в списке в порядке убывания их роста - C++
Имеется список учащихся класса с указанием роста каждого из них. Выяснить, перечислены ли ученики в списке в порядке убывания их роста.

Работа с файлами. Выведите список авторов в порядке убывания популярности, и названия издательств, которые публиковали их книги. - C++
Срочно надо сдать, а я не знаю даже с чего начать((( Проболела всю тему, мне бы кто объяснил, как для чайников... Я всё быстро схватываю) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru