Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SiemarglПричина в каких то округлениях ( abs() сначала к целочисленному привел, т.к. должно быть так http://www.cplusplus.com/reference/cstdlib/abs/ int abs ( int n); long int abs ( long int n); long long int abs (long long int n); а MS от себя добавил Код: plaintext 1. потому я и не заметил. Лучше заменить на fabs() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 12:44 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
у вас #include разные http://www.cplusplus.com/reference/cmath/abs/ double abs (double x); float abs (float x); long double abs (long double x); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 13:10 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Dima Tа MS от себя добавил Это не MS а С++ добавил от себя )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 13:26 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Я добавлял <cmath>, не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 14:53 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
У меня Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 14:56 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Дмитрий, а почему компаратор реализован именно так, как он реализован? Я думал что это будет классическая функция. Так необходимо для работы с set? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 01:44 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryДмитрий, а почему компаратор реализован именно так, как он реализован? Я думал что это будет классическая функция. Так необходимо для работы с set? Это требование стандарта http://en.cppreference.com/w/cpp/concept/Compare ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 02:15 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, спасибо, но я мало что понял по существу, здесь видимо влияет мой незначительный объем знаний в С++. В зарубежных работа по математике для обозначения операторов или левой части уравнения иногда используют lhs, только потому я догадался почему параметры функции названы так, как они названы. Впрочем затем я открыл стандарт, и нашел там аналогичные обозначения :) Не очень понял почему после имени структуры идет двоеточие, но думаю, что смогу разобраться. У меня другой вопрос: сколько значений возвращает данный компаратор и какие эти значения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 04:21 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryДмитрий, а почему компаратор реализован именно так, как он реализован? Я думал что это будет классическая функция. Так необходимо для работы с set? Так необходимо для сравнения float . Т.к. это экспоненциальный формат и при вычислении накапливается погрешность в последних разрядах мантиссы, то его нельзя просто сравнить, надо учитывать погрешность. Второй вариант - перед сохранением в set округлять, тогда можно будет вообще без компаратора обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 10:04 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercury, пример с демонстрацией проблемы Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 10:29 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryУ меня другой вопрос: сколько значений возвращает данный компаратор и какие эти значения? два значения. true/false. Просто сравнение "lhs < rhs" http://www.cplusplus.com/reference/set/set/set/ Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 10:38 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Dima TSashaMercuryДмитрий, а почему компаратор реализован именно так, как он реализован? Я думал что это будет классическая функция. Так необходимо для работы с set? Так необходимо для сравнения float . Т.к. это экспоненциальный формат и при вычислении накапливается погрешность в последних разрядах мантиссы, то его нельзя просто сравнить, надо учитывать погрешность. Второй вариант - перед сохранением в set округлять, тогда можно будет вообще без компаратора обойтись. Да нет, мне непонятен синтаксис реализации, но это мои проблемы - разберусь) Dima Tдва значения. true/false. Просто сравнение "lhs < rhs" Но в том случае если разница между числами меньше погрешности, то происходит возврат 0. Этот момент не очень понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 14:16 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryНо в том случае если разница между числами меньше погрешности, то происходит возврат 0. Этот момент не очень понял Этот функтор должен реализовывать операцию сравнения "меньше". Т.е. если первое число меньше второго, то возвращается true, а иначе (включая равенство в пределах заданной погрешности) - false. ЗЫ. Двоеточие это синтаксис наследования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 14:32 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryDima Tдва значения. true/false. Просто сравнение "lhs < rhs" Но в том случае если разница между числами меньше погрешности, то происходит возврат 0. Этот момент не очень понял ИМХУ: для проверки уникальности надо выполнить сравнение, имея компаратор сравнивающий только на меньше можно сделать так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 14:33 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Ну, и true==1, false==0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 14:35 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Т.е данный код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. аналогичен такому? Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 15:04 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
А binary_function судя о всему один абстрактных классов стандартной библиотеки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 15:07 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Мне не нравится, что он с маленькой буквы, кажется что это функция или метод, а не класс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 15:07 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Аналогичен, можно покороче Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 15:09 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryМне не нравится, что он с маленькой буквы, кажется что это функция или метод, а не класс В STL все с маленькой буквы и с подчеркиваниями если несколько слов. Такой стиль выбрали, привыкай. http://www.cplusplus.com/reference/stl/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 15:12 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Все спасибо C: В целом я понял, детали постараюсь сам разобрать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 15:24 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryА binary_function судя о всему один абстрактных классов стандартной библиотеки На самом деле для реализации компаратора set от нее можно вообще не наследовать. Просто сделайте класс с оператором (). Единственное предназначение этого наследования - подключить вложенные типы, которые дают возможность узнать типы аргументов и результата (если это нужно для реализации шаблона, использующего это класс). В С++11 это можно сделать напрямую, без помощи со стороны класса, поэтому binary_function (и подобные) будет удалена, так что ее не надо даже начинать использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 15:31 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyНа самом деле для реализации компаратора set от нее можно вообще не наследовать. Просто сделайте класс с оператором (). Это я откуда-то скопипастил с binary_function, тут примеры без нее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 15:34 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
SashaMercuryМне не нравится, что он с маленькой буквы, кажется что это функция или метод, а не класс На самом деле, это даже логично, т.к. во многих случаях никакой разницы между использованием класса и функции нет )) Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 15:38 |
|
||
|
Различные структуры данных. Реализация
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskySashaMercuryМне не нравится, что он с маленькой буквы, кажется что это функция или метод, а не класс На самом деле, это даже логично, т.к. во многих случаях никакой разницы между использованием класса и функции нет )) Код: plaintext 1. 2. В первом случае может вызываться только конструктор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 15:40 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39291161&tid=2018439]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 172ms |

| 0 / 0 |
