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

list sort() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Доработка программы (Подсчет количества слов в строке) http://www.cyberforum.ru/cpp-beginners/thread388841.html
Нужно подсчитать количество слов в строке s разделенных пробелами, или запятой. Для этого нужно использовать функцию: int Words (s). Нельзя использовать библиотеку string.h ... Вот раздобыл програмку #include <stdio.h> #define SLASH " ," // здесь можно указывать какие разделители будут: '\t' '\n' '\r' -=|. int is_slash(char ch) { const char* sc = SLASH; while( *sc ) {
C++ Подсчитать разницу в днях между 2 датами Здравствуйте, нужно подсчитать сколько дней между определенными датами(1 января 2001 и 31 декабря 2020) У меня есть код: #include <iostream> using namespace std; int main() { //С учетом весокосных годов получаем что разница между датами 20*365 + 4 = 7304 дня int allDays = 0; http://www.cyberforum.ru/cpp-beginners/thread388839.html
Построение и сортировка списка C++
Здравствуйте! Прошу помочь разобраться со списками в C++, а в особенности с классом списков list. Задание было такое: В элементе списка содержатся данные о ноутбуке: ○ наименование; ○ цена; ○ тактовая частота процессора; ○ размер ОП. Создать второй список, в котором все элементы упорядочены по возрастанию размера ОП.
Строки в С++ C++
Дано натуральное число n. Получить символьное представление n в виде последовательности цифр и пробелов отделяющих группы по три цифры, начиная справа. Например, если n=1753967, то должно получиться 1 753 967 пытался сделать,получилось вот что #include <iostream> #include <string.h> using namespace std; int i,len; string st; int main(){ {
C++ Определение количества цифр в целом числе http://www.cyberforum.ru/cpp-beginners/thread388802.html
Помогите плиз) Вот вариант что нужно сделать! написать подпрограмму-функцию определения кол-во цифр в целом числе n(если после деления k раз числа n на 10 в целой части числа будет ноль, то k-кол-во цифр в числе n) и использовать ее для вычисления кол-во цифр во вводимых с клавиатуры пяти числах. заранее спасибо)
C++ матрицы помогите решить не могу понять как это сделать и условие не понимаю. m = {{ 16, 78, 0, 6, -29, 19, -52, 65, -88, 51}, { -79, -22, 32, -25, -62, -69, -2, -59, -75, 89}, { -87, 95, -22, 85, -49, -75, 76, 73, -59, -52}, { 30, 49, -28, -48, 0, 57, -6, -85, 0, -18}, подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
21.11.2011, 22:01     list sort()
Цитата Сообщение от WASAW Посмотреть сообщение
Подскажите пожалуйста.
Есть упрощенный класс
C++
1
2
3
4
5
6
7
8
class NOTE 
    {
    public:
        char name[m];
        char surname[m];
        char phoneNumber[12];
        int birthday[3];
}
и создается список по шаблону
C++
1
list <NOTE> L;
Подскажите как реализовать(вроде можно через предикат, но я не понимаю как) L->sort() для данного списка, чтобы отсортировать записи по фамилии(surname)
У вас есть две возможности. Либо для вашего класса определить оператор-функцию operator < и тогда вызывать метод класса std::list sort без предиката (нельзя вызывать обобщенный алгоритм std::sort, так как он требует итератор произвольного доступа, а списки не имеют такого итератора), либо написать любую функцию, подобную оператор-функции, и тогда вызывать метод sort с предикатом.

Пример оператор функции


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
#include   <list>
#include   <cstring>
 
 
class NOTE 
    {
    public:
        char name[m];
        char surname[m];
        char phoneNumber[12];
        int birthday[3];
};
 
bool operator <( const NOTE &x, const NOTE &y )
{
   return ( std::strcmp( x.surname, y.surname ) < 0 );
}
 
int main()
{
   std::list<NOTE> L;
   ...
 
   L.sort( L.begin(), L.end() );
}
 
Текущее время: 17:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru