Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 1
Регистрация: 17.05.2011
Сообщений: 28
1

Исправить ошибку Stack overflow

07.12.2011, 18:47. Показов 2406. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
что значит stack overflow и как это исправить?код:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<stdio.h>
#include<stdlib.h>
 
void quicksort (int *a,int l,int r);
int main()
{
int x,N,i,l,r,j,w,*a;
scanf("%d",&N);
a=(int*)malloc(sizeof(int)*N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
l=0;
r=N-1;
quicksort (a,l,r);
for(i=0;i<N;i++);
printf("%d",a[i]);
return 0;
}
 
void quicksort(int *a, int l, int r) {
int x, w; int i=l;
int j=r;
x = a[(i+j)/2];
do {
while (a[i] < x) i++;
while (x < a[j]) j--;
if(i <= j) {
w = a[i];
a[i] = a[j] ;
a[j] = w;
i++; j--;
 
 
}
} while (i<j);
quicksort(a,i,i-1);
quicksort(a,i+1,j);
 
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2011, 18:47
Ответы с готовыми решениями:

Исправить ошибку Stack Arround
Почему вылетает с ошибкой Stack Arround ?? #include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include...

Сортировка qsort - Stack overflow, нарушение прав доступа при записи по адресу
Найдите, пожалуйста, ошибку в коде. Программа завершается с ошиибкой Stack overflow, и нарушение...

Необработанное исключение по адресу 0x012D1F29 в lab2__.exe: 0xC00000FD: Stack overflow (параметры: 0x00000000, 0x006020
Написать программу сортировки строки матрицы MM методом пузырька. Исходную и преобразованную...

Структура: Не могу понять, почему выдает ошибку и как собственно эту ошибку можно исправить?
Привет,не могу понять почему ошибку выдает и как сбстно эту ошибку можно исправить? #include...

2
Заблокирован
07.12.2011, 18:49 2
переполнение стека, возможно тут бесконечная рекурсия
1
0 / 0 / 1
Регистрация: 17.05.2011
Сообщений: 28
07.12.2011, 20:09  [ТС] 3
дак я прошу глянуть код и подсказать как исправить, а лучше обьясните ибо я нуб полный

Добавлено через 3 минуты
да все дело в рекурсии как исправить что бы норм было

Добавлено через 1 час 8 минут
UPDATE
таки разобрался с предыдущей проблемой
но быстрая сортировка все равно не работает а в чем дело не пойму
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include<stdio.h>
#include<stdlib.h>
 
void quicksort (int *a,int l,int r);
int main()
{
int x,N,i,l,r,j,w,*a;
scanf("%d",&N);
a=(int*)malloc(sizeof(int)*N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
l=0;
r=N;
quicksort (a,l,r);
for(i=0;i<N;i++);
printf("%d",a[i]);
return 0;
}
 
void quicksort(int *a, int l, int r) {
int x, w; int i=l;
int j=r;
x = a[(i+j)/2];
do {
while (a[i] < x) i++;
while (x < a[j]) j--;
if(i <= j) {
w = a[i];
a[i] = a[j] ;
a[j] = w;
i++; 
j--;
 
 
}
} while (i<j);
 
 
if (l<j) quicksort (a,l,j); 
if (i<r) quicksort (a,i,r); 
 
}
0
07.12.2011, 20:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2011, 20:09
Помогаю со студенческими работами здесь

Исправить ошибку
Во втором кейсе не считает результат, как исправить? #include &lt;stdio.h&gt; #include &lt;math.h&gt;...

Исправить ошибку.
#include &quot;Stdio.h&quot; #include &quot;math.h&quot; #include &quot;conio.h&quot; #include &quot;stdlib.h&quot; #define E...

Исправить ошибку в коде
задача Удалить спортсмена из наименьшим количеством очков. КОД: #define...

Нужно исправить ошибку
вот код, должно выводить k-тую цифру #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() {...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru