1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
||||||
1 | ||||||
Сортировка множества14.08.2013, 18:51. Показов 7472. Ответов 18
Метки нет (Все метки)
Задание в конце главы в книжке: Заполните массив четными числами, а множество — нечетными. С помощью алгоритма merge() объедините эти контейнеры в вектор. Выведите его содержимое, чтобы удостовериться, что слияние прошло успешно. Только вот множество не сортируется, а алгоритм merge требует сортировку. Думаю раз автор книги написал это значит есть какой то выход. Использовать copy не предлагайте.
0
|
14.08.2013, 18:51 | |
Ответы с готовыми решениями:
18
Число изъять из множества А, если оно является элементом множества А, но не является элементом множества В Множества. Вычислить количество элементов множества Q, связанного c исходными множествами В матрицу записать 1, если удвоенный элемент первого множества меньше элемента второго множества Квадрат с вершинами из первого множества накрывает все точки второго множества и имеет минимальную площадь |
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
|
14.08.2013, 19:05 | 2 |
std::set всегда отсортирован, в этом его свойство.
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
14.08.2013, 19:06 | 3 |
std::set по определению хранит элементы уже отсортированными.
0
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
14.08.2013, 19:22 [ТС] | 4 |
Все равно так же ошибка Expression: sequence not oredered
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
14.08.2013, 19:32 | 5 |
А почему chet+5, а не +4?
1
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
||||||
14.08.2013, 20:31 [ТС] | 6 | |||||
Действительно, спасибо) не заметил
Добавлено через 29 минут Зациклился на тексте ошибки что последовательность не отсортирована и не обратил внимания на диапазон) Добавлено через 16 минут А в чем ошибка в функциональном объекте comp что исп. для сравнения ?
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
14.08.2013, 21:13 | 7 |
Всё нормально с comp вроде. Только тут хватит просто return df > dv.
А вот main должен возвращать int.
0
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
14.08.2013, 21:20 [ТС] | 8 |
Уже не должен, если df < dv то все работает если > то та же ошибка sequense not ordered
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
||||||
14.08.2013, 21:49 | 9 | |||||
???
А, ну так set-то тоже должен быть с сортировкой в таком же порядке. Если с этой comp, то типа такого:
0
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
14.08.2013, 21:57 [ТС] | 10 |
Ну очень часто встречаю коментарии подобные твоему про return в main() и всегда им отвечают что уже делать это не нужно
Добавлено через 3 минуты Не работают они ошибку выдает include <functional> и using namespace std есть Добавлено через 1 минуту Какой смысл в функц. объекте в merge если нельзя переопределить тип сортировки ?
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
14.08.2013, 22:01 | 11 |
Ну, на заборах тоже много чего пишут...
http://www.open-std.org/jtc1/s... /n3337.pdf Пункт 3.6.1.2 merge - это слияние. Её задача - слить две отсортированных последовательности в одну отсортированную в один проход. Если же сортировка нужна какая-то другая, то тогда варианта лучшего, чем объединить всё в одну кучу и отсортировать, нет.
0
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
||||||
14.08.2013, 22:18 [ТС] | 12 | |||||
в строке если добавить greater<int>
Добавлено через 4 минуты Уже разобрался почему less greater не работали Добавлено через 8 минут Так он не хочет сортировать ! из 2-х строк 2, 4, 6, 8 и 1, 3, 5, 7, 9 он делает 1 2 3 4 5 6 7 8 9 0 это без указания функц. объекта если указать less то результат тот же, если поменять на greater то снова ошибка: sequence not ordered ! Поэтому не понимаю смысла наличия данного аргумента
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
14.08.2013, 22:20 | 13 |
Опять где-то размер на единицу больше у массива?
0
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
||||||
14.08.2013, 22:26 [ТС] | 14 | |||||
Нет
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|||||||||||
14.08.2013, 22:35 | 15 | ||||||||||
Добавлено через 2 минуты
0
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
14.08.2013, 22:44 [ТС] | 16 |
Somebody, та же ошибка
0
|
59 / 58 / 7
Регистрация: 03.02.2013
Сообщений: 167
|
||||||
24.08.2013, 15:37 | 17 | |||||
1
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
||||||
24.08.2013, 16:02 | 18 | |||||
2
|
59 / 58 / 7
Регистрация: 03.02.2013
Сообщений: 167
|
||||||
24.08.2013, 16:45 | 19 | |||||
Добавлено через 43 секунды
точно.)
0
|
24.08.2013, 16:45 | |
24.08.2013, 16:45 | |
Помогаю со студенческими работами здесь
19
Множества. Проверка множества на наличие элемента в нем Множества . Найти разность полученного множества с заданным Удалить из множества А минимальный элемент множества В Сформировать два множества, первое содержит все простые числа из данного множества, второе - все составные Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |