С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 17.11.2022
Сообщений: 54

Дан список, отобрать мужчин в другой список и упорядочить его по убыванию

09.04.2023, 22:04. Показов 558. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не получается сортировка, и не знаю, как засунуть один список в другой.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <iostream>
#include <string>
 
using namespace std;
 
class Node
{
public:
 
    string name, gender, post;
 
    int salary;
 
    Node* next;
 
    void print()
    {
        cout << "Name: " << name << endl << "Gender: " << endl << gender << endl << "Post: " << post << endl << "Salary: " << salary << endl;
    }
};
 
class list
{
    Node* last;
 
public:
 
    list()
    {
        last = NULL;
    }
 
    void add_item(Node* X)
    {
        X->next = last;
        last = X;
    }
 
    void output()
    {
        Node* temp;
        temp = last;
        while (temp != NULL)
        {
            temp->print();
            temp = temp->next;
        }
    }
 
    void sort(int size)
    {
        Node* temp;
        temp = last;
 
        int min = temp->salary;
        if (temp->gender == "male") {
            for (int i = 0; i < size; i++) {
            for (int j = 0; j < size-1; j++) {
                if (temp->salary[j] > temp->salary[j + 1]) {
                        int b = temp->salary[j]; // создали дополнительную переменную
                        temp->salary[j] = temp->salary[j + 1]; // меняем местами
                        temp->salary[j + 1] = b; // значения элементов
                    }
                }
            }
        }
 
        temp = last;
 
        while (temp != NULL)
        {
 
                temp->print();
            temp = temp->next;
        }
    }
};
 
void main()
{
    list* listI;
    listI = new list;
 
    string name_tag, gender_tag, post_tag;
    int salary;
 
    int n;
 
    cout << "How much?" << endl;
 
    cin >> n;
 
    for (int i = 0; i < n; i++)
    {
        Node* NodeI;
        NodeI = new Node;
        cout << "Input gender: " << endl;
        cin >> gender_tag;
        cout << "Input name:" << endl;
        cin >> name_tag;
        cout << "Input Post: " << endl;
        cin >> post_tag;
        cout << "Input salary:" << endl;
        cin >> salary;
        NodeI->gender = gender_tag;
        NodeI->name = name_tag;
        NodeI->post = post_tag;
        NodeI->salary = salary;
        listI->add_item(NodeI);
    }
 
    listI->output();
 
    listI->sort(n);
 
    system("pause");
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2023, 22:04
Ответы с готовыми решениями:

Односвязный кольцевой список (упорядочить список по убыванию номера рейса; добавить сведения о новом пассажире, поместив его после всех пассажиров)
Добрый день народ! Нужна ваша помощь Написал код программы, не могу понять как написать дальше 2 функции. 1. Упорядочить...

Дан список спортсменов в файле: вывести список мужчин-волейболистов
Помогите с кодом пожалуйста. Записать в файл список спортсменов с указанием фамилии, пола и вида спорта. Вывести список...

Массивы: дан список спортсменов. участвующих в соревнованиях; получить список спортсменов мужчин
Понимаю, что чего-то не хватает, но срочняк надо) И... как написать, чтобы читало слово в ячейке экселя (тут в таблице ФИО спортсмена и...

4
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6147 / 2840 / 1040
Регистрация: 01.06.2021
Сообщений: 10,353
10.04.2023, 11:11
...
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
10.04.2023, 12:57

Не по теме:

Мужиков по ЗП сортирует дама.
Толковая! 8-)



Добавлено через 8 минут
Castler,
у вас зачем-то выбор засунут в метод сортировки

Цитата Сообщение от Castler Посмотреть сообщение
if (temp->gender == "male") {
Однако, надо же сначала из одного списка откопировать в другой только мужчин, а потом целиком весь список (где только мужчины) отсортировать.

Соответственно, вместо вот этого
Цитата Сообщение от Castler Посмотреть сообщение
listI->output();
listI->sort(n);
делаем примерно так:

C++
1
2
3
4
listI->output();
 
list* list_male = new list;
for ()
блин... как всё сделано-то сикось-накось... надо переделывать, а не просто поправить...
0
1 / 1 / 0
Регистрация: 17.11.2022
Сообщений: 54
10.04.2023, 15:46  [ТС]
KSergey9, А дальше как мне в цикле это использовать конкретно? Вместо
C++
1
2
3
4
5
6
7
8
9
for (int i = 0; i < size; i++) {
            for (int j = 0; j < size-1; j++) {
                if (temp->salary[j] > temp->salary[j + 1]) {
                        int b = temp->salary[j]; // создали дополнительную переменную
                        temp->salary[j] = temp->salary[j + 1]; // меняем местами
                        temp->salary[j + 1] = b; // значения элементов
                    }
                }
            }
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6147 / 2840 / 1040
Регистрация: 01.06.2021
Сообщений: 10,353
10.04.2023, 16:26
Castler, используй std::swap, чтобы поменять местами, а то эти временные переменные усложняют восприятие кода
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.04.2023, 16:26
Помогаю со студенческими работами здесь

Список: Упорядочить список по убыванию значений элементов.
помогите реализовать на Прологе следующую задачу: Организовать ввод и формирование списка вещественных чисел с проверкой....

Дан список, упорядочить его по возрастанию и убедиться, что в нем нет повторов
DOMAINS список=integer* элемент=integer PREDICATES %nondeterm начспис(список) nondeterm вставсорт(список, список) nondeterm...

Дан список L, отсортировать список по убыванию
Дан список L, элементы которого являются действительными числами. Отсортировать список по убыванию. Элементы списка генерируются...

Дан список целых чисел. Отсортируйте его. Выведите полученный список на экран
Дан список целых чисел. Отсортируйте его. Выведите полученный список на экран. Решите эту задачу при помощи алгоритма сортировки...

Дан список, содержащий список точек в пространстве. Отсортируйте его по возрастанию координаты
Дан список, содержащий список точек в пространстве. Отсортируйте его по возрастанию координаты z. В случае равенства - по убыванию...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru