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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
marni
2 / 2 / 0
Регистрация: 17.04.2013
Сообщений: 68
#1

qsort исключение Steck Overflow - C++

03.11.2013, 23:52. Просмотров 278. Ответов 6
Метки нет (Все метки)

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
template<class T>
void quickSort(T* arr, int l, int r)
{
    if(l >= r)
        return;
    auto i = l;
    auto j = r;
    auto med = arr[r / 2];
    while(i <= j)
    {
        while(arr[i] < med)
            ++i;
        while(arr[j] > med)
            --j;
        if(i <= j)
        {
            std::swap(arr[i], arr[j]);
            ++i;
            --j;
        }
    }
    quickSort(arr, l, j);         // Сюда
    quickSort(arr, i, r);        // и сюда направлеет компилятор
 
}

Перепробьівал много примеров, все или исключение дают или первому елемету дают -852244223. Пишу в VC++2012
Даже с форума пробьівал примерьі брать и все одно и то же
Что здесь надо исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2013, 23:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос qsort исключение Steck Overflow (C++):

Quicksort - исключение stack overflow - C++
Алгоритм сортирует таблицу со случайными числами на 100тыс, 500тыс, 1млн, но при сортировке уже отсортированной таблицы или таблицы обратно...

Необработанное исключение Stack overflow - C++
Здравствуйте. Такое дело: считываю файл в буфер, а он ругаиццо. ... DWORD bufferSize = 16777216; BYTE buffer1; DWORD...

Exception class overflow with message floating point overflow - C++
Прощу вашего совета в строке кода RxSpinEdit-&gt;Value=Step * (MyRound(RxSpinEdit-&gt;Value*Koef/Step)); функция MyRound int...

qsort - C++
Вот код: #include &lt;cstdio&gt; #include &lt;algorithm&gt; int compare(const void *s1, const void *s2) { return strcmp((char *)s1, (char...

qsort - C++
читал, что с помощю QSORT можно упорядочить масив, но не пишет как. помогите!!

qsort - C++
Ребят,расскажи подробно и простенько про qsort;Видел тему,но ничего не понял.Я новичек еще можно сказать пока в С++. у меня просто...

6
ssXXss
266 / 188 / 10
Регистрация: 15.01.2011
Сообщений: 681
04.11.2013, 00:10 #2
скорее всего выход за пределы массива так как не достигается условие l >= r
1
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
04.11.2013, 00:22 #3
Цитата Сообщение от marni Посмотреть сообщение
auto med = arr[r / 2];
Ты выбираешь средний элемент с интервала 0;r а надо l;r

(l+r)/2
1
marni
2 / 2 / 0
Регистрация: 17.04.2013
Сообщений: 68
04.11.2013, 00:41  [ТС] #4
Цитата Сообщение от Dani Посмотреть сообщение
Ты выбираешь средний элемент с интервала 0;r а надо l;r
(l+r)/2
пасиб, на одну проблему меньше. Но первьій елемент все равно = -85899..... В чем тут проблема?
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
04.11.2013, 19:22 #5
marni, скорее всего ты перепутал границы. Покажи как вызываешь сорт
1
ТОрчОК
Заблокирован
04.11.2013, 19:26 #6
arr[20];
quickSort(arr, 0 , 19)
скорее всего
1
marni
2 / 2 / 0
Регистрация: 17.04.2013
Сообщений: 68
04.11.2013, 19:53  [ТС] #7
Цитата Сообщение от ТОрчОК Посмотреть сообщение
arr[20];
quickSort(arr, 0 , 19)
скорее всего
пасиб, работает
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2013, 19:53
Привет! Вот еще темы с ответами:

qsort C++ - C++
Помогите, плиз,разобраться с этой функцией, я прогу написала, но мало чего понимаю в ней, я написала в трех файлах, так и выкладываю. ...

qsort - C++
Вот код программы. Посмотрите вопрос в комментарии. #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; int main() ...

Функция Qsort - C++
Прошу ознакомить меня с функцией Qsort. Если можно, то не мудрено и на примерах. Спасибо.

не работает qsort - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; #include &lt;string.h&gt; using namespace std; struct MARSH { char...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
04.11.2013, 19:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru