0 / 0 / 0
Регистрация: 01.10.2019
Сообщений: 6
1

Сортировка строк в классе

07.05.2020, 18:40. Показов 874. Ответов 4
Метки нет (Все метки)

Всем привет, нужно дать пользователю возможность сортировать по полям, выбрал для пробы одно поле. Но как сортировать строки я не понимаю. Пробовал через list, потом через функцию sort, но выводя элементы, ничего не изменилось, как сделать правильно ? И еще вопрос, как в классах пользоваться char, не понимаю как в конструкторе передавать значения( Например поле char *name Помогите пожалуйста

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
class Mobile {
    public:
        string name; 
        string date;  
        int number; 
        string address;
 
        Mobile() {};
        Mobile(string nam, string de, int num, string address) {
            name = nam;
            date = de;
            number = num;
            this->address = address;
        }
        string Raddress() {
            return address;
        }
    };
 
    bool comp(const Mobile& s1,const  Mobile& s2) {
        return s1.address < s2.address;
    }
        /*  Еще есть вот такой вариант, но не пробовал, потому что нужен char
        Ну и еще данные в виде char    
        bool comp(Mobile *s1, Mobile* s2) {
                return ( strcmp(s1->name, s2->name) < 0 ) ? true : false;
            }
        */
 
    int main()
    {
        list<Mobile> List;
        Mobile abonent[3];
        
        abonent[0] = Mobile("Q", "w", 13, "");
        abonent[1] = Mobile("qqwe", "gggge", 13, "qwertyy");
        abonent[2] = Mobile("qwerweefgr", "qewfewwe", 15, "q");
        cout << abonent[0].Raddress() << endl;
        sort(abonent, abonent+3, comp);
        cout << "Сортировка" << endl;
        cout << abonent[0].Raddress() << endl;
    }
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2020, 18:40
Ответы с готовыми решениями:

Сортировка строк в классе
У меня есть класс: class Planet { public: Planet(int l_name = 20); // конструктор...

Сортировка строк в классе
Есть готовая программа. Нужно результаты выбить в алфавитном порядке. #include &lt;iostream&gt; using...

Сортировка в классе
Задание: Описать класс WORKER, содержащий следующие поля: •фамилия и инициалы работника;...

Сортировка в классе
Описать 2 метода (пузырька и выбора) в одном классе

4
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
07.05.2020, 19:13 2
Лучший ответ Сообщение было отмечено Ppups как решение

Решение

Цитата Сообщение от Ppups Посмотреть сообщение
Пробовал через list, потом через функцию sort, но выводя элементы, ничего не изменилось, как сделать правильно ? И еще вопрос, как в классах пользоваться char, не понимаю как в конструкторе передавать значения( Например поле char *name Помогите пожалуйста
Ты сортируешь по адресу, у первого элемента он пустой, естественно, после сортировки он остаётся первым. Выведи все элементы массива.
Или сделай
C++
1
abonent[0] = Mobile("Q", "w", 13, "zzzzzz");
1
0 / 0 / 0
Регистрация: 01.10.2019
Сообщений: 6
07.05.2020, 21:16  [ТС] 3
oleg-m1973, до этого там была строка, решил просто удалить попробовать, но толку также не было
0
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
07.05.2020, 21:19 4
Цитата Сообщение от Ppups Посмотреть сообщение
oleg-m1973, до этого там была строка, решил просто удалить попробовать, но толку также не было
Да ладно. Всё прекрасно работает.
1
0 / 0 / 0
Регистрация: 01.10.2019
Сообщений: 6
07.05.2020, 21:37  [ТС] 5
oleg-m1973,точно работает Дурак, до этого передавал строки, которые удовлетворяли условию. Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2020, 21:37
Помогаю со студенческими работами здесь

Сортировка qsort в классе
Здравствуйте! Все никак не получается, решил обратиться за помощью. Как мне отсортировать массив...

Сортировка по алфавиту в классе
Всем привет, недавно тут спрашивал по поводу классов, вот появилась новая проблема: В классе...

Массив строк в классе
Пожалуйста, дайте пример такого массива)

Сортировка списка с классами по переменной в классе
Есть класс, в классе переменная i; Есть лист с классами. Как отсортировать лист по величине i?

Сортировка строки по алфавиту в классе String
Здравствуйте! Создал класс Stroka: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std;...

Сортировка по дате рождения данных в классе
В классе хочу отсортировать людей по дням, месяцам и годам рождения сразу, но получается только...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru