Форум программистов, компьютерный форум, киберфорум
Наши страницы

qsort, рабочий день убит... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сканеры исходные тексты http://www.cyberforum.ru/cpp/thread12310.html
Здравствуйте! Купил книгу по программированию, там приведены примеры двух сканеров, первый по UDP протоколу запрашивает snmp агент и получает ответ: 30 2F 02 01 00 04 06 70 75 62 6C 69 63 A2 22...
C++ Подскажите где ошибка? #include <iostream> using namespace std; const int Max_size=1000; class stack{ private: int s_size; int mass; public: http://www.cyberforum.ru/cpp/thread12144.html
Программирование микроконтроллера ADuC812 C++
Пожалуйста,помогите кто чем может..Чем заливать программу я знаю,мне нужна сама прога на С++ для того чтобы ADuC отображал информацию на индикаторе,когда на него подают напряжение...
C++ Защита от копирования
Здрасьте!Подскажите пожалуйста,как сделать,чтобы файл нельзя было копировать, но можно было перемещать? Код под Windows, обязательно на с/с++.
C++ Запуск исполняемого файла (.exe) http://www.cyberforum.ru/cpp/thread11919.html
Hi every body! Помогите в разработке программы. Я не знаю какие нужно использовать функции в C++ :scratch: для того, чтобы приложение можно было запускать не более 1-го раза, т. е. если я запускаю...
C++ Циклы for. Проблема объявления/инициализации Эх, так и придется создавать новую тему. А то, блин, интересно ж... Итак, я тут в недавней теме утверждал, что блок инициализации цикла for является внешним по отношению к его внутреннему блоку... подробнее

Показать сообщение отдельно
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,635

qsort, рабочий день убит... - C++

13.09.2008, 00:18. Просмотров 4396. Ответов 4
Метки (Все метки)

Всем привет,
Я, наверное, представляться не буду

Вообщем, один мой рабочий день на этой неделе был убит такой вещью: делал я задачку на сортировку строк в матрице. Решил делать через qsort. Но, че-то мои мозги повисли на мысли что сортировка не пашет на количестве элементов большем 9... брррр. Писал в VS 2008 (в 2005 тоже пробовал). Забил я на матрицу и сократил до такого:
Код
#include <stdio.h>
#include <stdlib.h>

int compare( const void *arg1, const void *arg2 )
{
    if(*(int*)arg1 > *(int*)arg2)
    {
        return 1;
    }
    else {;return 0;}
}

void main()
{
    int a[9];
    a[0] = 27;
    a[1] = 11;
    a[2] = 25;
    a[3] = 34;
    a[4] = 45;
    a[5] = 0;
    a[6] = 44;
    a[7] = 14;
    a[8] = 26;
    printf("%d %d %d %d %d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]);
    qsort(&a, 9, sizeof(int), compare);
    printf("%d %d %d %d %d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]);
    getchar();
}
Почему этот код выводит такую интересную вещь:
27 11 25 34 45 0 44 14 26
26 11 25 14 27 0 34 44 45
т. е. сортировка не работает. Если я этот же код компильну в gcc, то сортировка пройдет на ура.
Замените в qsort 9 на 8 и все ок...

Хм... Это бага в моих генах, или в библиотечной реализации qsort у VS?

Добавлено через 5 минут 10 секунд
Блин, только что в 6.0 версии попробовал:
27 11 25 34 45 0 44 14 26
45 11 25 34 27 0 44 14 26
У меня есть шанс выздороветь?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru