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

Возникли трудности с функцией быстрой сортировки qsort - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Основы ветвления http://www.cyberforum.ru/cpp-beginners/thread569727.html
Встретился на сайте с такой подачей ветвления: if ( !qwe ) Что значит восклицательный знак, неравенство?
C++ Сортировка букв. Отсортировать буквы в строке в порядке возрастания с учетом регистра. Помогите написать код под компилятор Borland c++,заранее спасибо!!! http://www.cyberforum.ru/cpp-beginners/thread569724.html
C++ рандом со значение меньше нуля
for (int i = 0; i < 50; i++){ A=rand()%100; } как сделать чтобы рандомные числа были не только положительные ну и отрицательные)
Как переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами C++
Подскажите как реализовать перестановку элементов массива в заданом промежутке? Минимум и максимум массива я нашел, а как переставить элементы не знаю... Подкиньте идею.
C++ драйвер клавиатуры http://www.cyberforum.ru/cpp-beginners/thread569708.html
Здравствуйте! Может кто-нибудь дать исходники на драйвер клавиатуры и мыши с подробным описанием строк. Или любой небольшой исходник драйвера с подробным описанием строк. Спасибо.
C++ таблица значений функции Написать программу, которая выводит таблицу значений функции y=|[-2|+|x+1|. Диапазон изменения аргумента: от -4 до 4, шаг=0,5. подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
09.05.2012, 22:59     Возникли трудности с функцией быстрой сортировки qsort
Цитата Сообщение от Asdf Посмотреть сообщение
Разъясни пожалуйста вот эту часть
Функция сортировки вызывает функцию сравнения и передаёт указатели на 2 элемента. Но эти указатели пустого типа, мы же знаем, что элементами являются прямоугольники. Первые две строчки просто преобразуют тип указателя, а вторые две используют эти указатели чтобы обратиться к нужным полям, в данном случае к высоте.
Можно было в стиле Си написать, примерно так:
C++
1
if (((const rectangle*)a)->height < ((const rectangle*)b)->height) return -1;
Цитата Сообщение от Asdf Посмотреть сообщение
И почему там где sizeof(arr_rectangle[0]) ты берёшь 0?
В этом месте индекс вообще не важен, можно любой подставить, важно что мы хотим узнать размер одного элемента. Можно написать sizeof(rectangle) если тип элементов менять точно не будет, но через элемент массива универсальнее.

Добавлено через 1 минуту
переменные pa и pb просто для удобства, чтобы лишний раз преобразование не записывать.
 
Текущее время: 22:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru