0 / 0 / 1
Регистрация: 03.12.2011
Сообщений: 43
|
|||||||||||
1 | |||||||||||
Функция qsort для сортировки массивов структур17.12.2011, 14:09. Показов 26626. Ответов 16
Метки нет (Все метки)
В общем есть структура
Далее мне нужно отсортировать этот массив из структур по полю karma НО c помощью функции qsort qsort(user, 10, sizeof(user), intCmp) сложность в том что qsort вызывает внутри себя функцию (я назвал ее intCmp) которая принимает параметры const void* эта функция и выполняет сравнение, ну допустим по увеличению (это неважно) в Общем я не понимаю как можно вытащить именно поле user.karma Как отсортировать данный массив без этой функции я знаю, интересует именно с помощью qsort
0
|
17.12.2011, 14:09 | |
Ответы с готовыми решениями:
16
функция qsort при сортировке массива структур Qsort для массива структур Qsort() для сортировки структур по дате (struct tm) std::sort/qSort. Реализация сортировки с заданной функцией сортировки в классе. must use '.*' or '->*' to call |
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
|
||||||
17.12.2011, 14:20 | 2 | |||||
Сообщение было отмечено как решение
Решение
Dark2012, просто приведи const void* к типу User* и вытащи свою карму)
типо того
3
|
Каратель
|
|
17.12.2011, 14:22 | 3 |
https://www.cyberforum.ru/cpp-... ost2194577
Не по теме:
1
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
17.12.2011, 14:27 | 4 |
Dark2012, Сортировка массива структур по одному полю на Си
И с языком программирования всё-таки определитесь, на С++ как-то правильнее sort() использовать...
1
|
0 / 0 / 1
Регистрация: 03.12.2011
Сообщений: 43
|
|
17.12.2011, 14:30 [ТС] | 5 |
Спасибо, народ начал заниматься программированием меньше месяца назад, не бейте)...Пока что еще даже к синтаксису не привык не то что б знать что лучше использовать)
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
17.12.2011, 14:37 | 6 |
Dark2012, важно понять - С и С++ разные языки программирования. При этом С считается подмножеством С++ (то есть в большинстве случаев программа на С будет и программной на С++, обратное не верно). Но если всётаки пишете на С++ то и использовать нужно средства этого языка, а не унаследованные из С.
1
|
0 / 0 / 1
Регистрация: 03.12.2011
Сообщений: 43
|
||||||
17.12.2011, 16:05 [ТС] | 7 | |||||
в общем вроде бы все просто но блин не могу разобраться в чем ошибка....
подскажите плиз...
не не разобрался....все равно ошибки выдает....
0
|
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
|
||||||
17.12.2011, 16:13 | 8 | |||||
1
|
0 / 0 / 1
Регистрация: 03.12.2011
Сообщений: 43
|
|
17.12.2011, 17:06 [ТС] | 9 |
Блин, вот я нуб...Спасибо)!
Добавлено через 52 минуты блин программа запускается но не фига не сортируется..., в чем может быть дело?
0
|
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
|
|
17.12.2011, 17:15 | 10 |
Dark2012, при вызове надо указывать sizeof(User) - то есть структуры, а не массива
1
|
0 / 0 / 1
Регистрация: 03.12.2011
Сообщений: 43
|
|
17.12.2011, 17:19 [ТС] | 11 |
Да, все заработало! Спасибо!
0
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
||||||
04.01.2012, 15:04 | 12 | |||||
Несмотря на то, что большая часть кода C будет справедлива и для C++, C++ не является надмножеством C и не включает его в себя.
Скомпилируйте этот код на С
Сделаю за Вас http://liveworkspace.org/code/... 92a3d1a0d9 http://liveworkspace.org/code/... 2f1fa21458
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
04.01.2012, 15:24 | 13 |
go, но программа-то с одинаковым успехом компилируется и С и С++ компилятором. Вот выполняется действительно по-разному. И этот случай далеко не единственный. Тут на форуме ещё с десяток похожих различий найдёте. С и С++ разные языки, а про подмножество, если не ошибаюсь, у Дейтлов прочитал, и честно говоря не вижу причины не согласиться...
0
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
||||||||||||||||
04.01.2012, 15:55 | 14 | |||||||||||||||
Хорошо, а такой код
А вот такой
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||||||||||||
04.01.2012, 16:05 | 15 | |||||||||||||||
go, и что это доказывает? Все эти куски можно переписать так, что они будут компилироваться и как С код, и как С++ (ну или не будут, как должно бы быть в последнем случае)
0
|
Jupiter
|
04.01.2012, 16:14
#16
|
Не по теме: к чему этот спор и некропостинг?:scratch:
0
|
Just Do It!
|
||||||
23.12.2017, 10:55 | 17 | |||||
а вот я не сильно думая определил компаратор в теле класса, поэтому и зашел сюда
Добавлено через 18 минут а всего то надо было добавить static
0
|
23.12.2017, 10:55 | |
23.12.2017, 10:55 | |
Помогаю со студенческими работами здесь
17
Напишите функцию сортировки, похожую на функцию которая использовалась для сортировки массивов, с той разницей, что ее а Сортировка массива структур с использованием qsort Процедура сортировки для структур Сортировка массива структур без использования Qsort Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |