Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
13 / 18 / 6
Регистрация: 02.05.2018
Сообщений: 538
1

Реализовать сортировку по росту (по убыванию) методом вставок и методом слияния

02.11.2018, 20:32. Просмотров 1741. Ответов 4
Метки нет (Все метки)

Добавлено через 1 час 27 минут
...

Список лист заполняется экземплярами класса:

C++
1
2
3
4
5
6
7
8
9
10
11
void StudentGournalRead(int&Number,list<Student>&Gournal)  // Функция для заполнения данных обо всех учениках через цикл
{
    Student a;
    int i = 0;           // итератор
    while ( i < Number )
    {
         a.Read();        // Заполняем данные об ученике
        Gournal.push_back(a);    // Добавляем в список обьект в котором содержится инф-я об ученике
        i++;
    }
}
Код класса:

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
class Student
{
 
private:
 
    int gender;         // Пол ученика
    string fio;         // Фамилия ученика
    double mass;       // Масса ученика
    double growth;    // Рост ученика
 
bool init( int Gender, string Fio, double Mass, double Growth )  // Проверка исходных данных
{
    if (   (Mass < 0.0 || Mass == 0.0) || (Growth < 0.0 || Growth == 0.0) || (Gender < 1 || Gender > 2)  )
 
        return false;  // неправильный ввод - не иницилизировать поля
 
    else      // правильный ввод - иницилизировать поля
    {
 
        gender = Gender;
        fio = Fio;
        mass = Mass;
        growth = Growth;
 
        return true;
    }
 
};
Нужно реализовать сортировку по росту (по убыванию) 1)методом вставок, 2) методом слияния.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2018, 20:32
Ответы с готовыми решениями:

Массивы А, В и С упорядочить по убыванию, используя сортировку методом вставок
Ввести массивы А и В. В массив С скопировать те элементы массива А, которые встречаются в массиве В...

Реализовать сортировку массива целых чисел методом двухпутевых вставок
Вот такая задача: Реализовать сортировку массива целых чисел методом двухпутевых вставок при...

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

Отсортировать массив по алфавиту, используя сортировку методом бинарных вставок
Массив состоит из записей, в которых предусмотрены поля: Ф.И.О., год рождения. Отсортировать ...

4
44 / 20 / 14
Регистрация: 23.10.2018
Сообщений: 103
02.11.2018, 20:55 2
C++
1
2
3
4
5
6
7
8
9
10
11
 for (int i = 0; i < (int)my_list.size() - 1; i++) {
        auto it1 = my_list.begin();
        auto it2 = std::next(it1);
        for (int j = 0; j < (int)my_list.size() - 1 - i; j++) {
            if (*it1 > *it2) {
                std::swap(*it1, *it2);
            }
            it1++;
            it2++;
        }
    }
1
13 / 18 / 6
Регистрация: 02.05.2018
Сообщений: 538
02.11.2018, 21:04  [ТС] 3
sty4ent, у меня в списке хранится экземпляр класса Student(int,string,double,double Growth), и сортировать надо по убыванию роста Growth.
0
44 / 20 / 14
Регистрация: 23.10.2018
Сообщений: 103
02.11.2018, 21:15 4
Цитата Сообщение от cherc Посмотреть сообщение
у меня в списке хранится экземпляр класса Student(int,string,double,double Growth), и сортировать надо по убыванию роста Growth.
Поздравляю . Сложно переделать под свою задачу?
0
nmcf
02.11.2018, 21:36     Реализовать сортировку по росту (по убыванию) методом вставок и методом слияния
  #5

Не по теме:

cherc Где описание класса Student в самом начале?

0
02.11.2018, 21:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2018, 21:36
Привет! Вот еще темы с ответами:

Выполнить сортировку одномерного массива X(100) методом бинарных вставок
Здравствуйте уважаемые пользователи форума, прошу составить программу в с++ просто нужно сдать...

Методом слияния отсортировать элементы по убыванию.
Методом слияния отсортировать элементы по убыванию.

Сортировка массива по убыванию элементов методом вставок
Отсортировать массив по убыванию элементов простыми вставками. Код неправильный, исправьте, если...

Массивы. Расположить элементы в порядке возрастания. Использовать сортировку методом вставок
Дан массив a. Расположить его элементы в порядке возрастания. Использовать сортировку методом...


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

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

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