Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.11.2018
Сообщений: 6

Быстрая сортировка. В чем ошибка?

11.11.2018, 17:36. Показов 716. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
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
Program Bistraia;
const n=600;
var i : integer;
var a:array[1..n] of integer;
procedure QSort(first, last: Integer ); 
var l, r, c, x: integer;
begin
if first < last then begin
a[i]:=a[(first + last) div 2]; //Ошибка времени выполнения: Индекс находился вне границ массива
l:=first; r:=last;
while l <= r do begin
while a[l] < x do l:=l+1;
while a[r] > x do r:=r-1;
if l <= r then begin
c:=a[l]; a[l]:=a[r]; a[r]:=c;
l:=l+1; r:=r-1;
end;
end;
QSort(first, r); QSort( l, last);
end; 
end;
begin
randomize;
for i:=1 to n do begin
a[i]:=random(5000+6500+1)-6500;
write(a[i], ' ');
end;
writeln('Нажмите любую кнопку для продолжения');
readln();
for i:=1 to n do
QSort(a[i],a[n]);
writeln('Нажмите любую кнопку для продолжения');
readln();
for i:=1 to n do
write(a[i], ' '); 
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2018, 17:36
Ответы с готовыми решениями:

Быстрая сортировка.В чём ошибка?!
Я знаю,что она кроется где-то в этом основном блоке. while (i&lt;j){ for(;a&lt;=m;i++){ if (i&gt;=j){ break; } } ...

Неправильно работает быстрая сортировка,в чём ошибка
procedure BistroV(a:array of integer;min,max:integer); //быстрая возрастание var i,j,zap,ser:integer; begin if (proverka=0) then...

Сортировка Шелла быстрее чем Быстрая сортировка
В универе задали задание построить графики относительно скорости сортировок и размеров массивов. Есть 4 массива, по сути, неважно какие,...

4
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
11.11.2018, 18:32
Включайте отладку и смотрите где индекс оказывается слишком большим.
Для этого надо нажать F7/F8, или поставить точку останова (на панельке слева можно нажать, появится красная точка) и запустить.
0
0 / 0 / 0
Регистрация: 11.11.2018
Сообщений: 6
11.11.2018, 18:49  [ТС]
Исправил, нужно было заменить QSort(a[i],a[n]) на QSort(i,n). Но теперь выдает "Ошибка времени выполнения: StackOverflowException: Программа завершена из-за переполнения программного стека". Кто знает, в чем проблема?
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
11.11.2018, 18:52
Опять же, используйте отладку, она для того и существует.

StackOverflowException значит что какая то подпрограмма вызывала саму себя до бесконечности (пока память не переполнилась).
0
0 / 0 / 0
Регистрация: 11.11.2018
Сообщений: 6
11.11.2018, 18:59  [ТС]
Хорошо, спасибо за помощь))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.11.2018, 18:59
Помогаю со студенческими работами здесь

Быстрая сортировка - ошибка
Почему ошибка? #include &lt;cstdlib&gt; #include &lt;ctime&gt; #include &lt;iostream&gt; using namespace std; class AR{ ...

Быстрая сортировка, ошибка
Добрый день! Задали 6 методов сортировок и уже на 5-ой у меня голова кругом( Выскакивают ошибки- Unit1.pas(173): Too many actual...

быстрая сортировка. Ошибка: list index out of range
def quick1(listA): start = 0 end = len(listA) swapN = 0 pivot = listA while True: i = start - 1; j = end ...

быстрая сортировка. Ошибка: list index out of range
def quick1(listA): start = 0 end = len(listA) swapN = 0 pivot = listA while True: i = start - 1; j = end ...

Быстрая Сортировка quick-sort (ошибка в 40 строке) как исправить?
#include &lt;iostream&gt; #include &lt;vector&gt; using std::endl; using std::cout; using std::vector; template&lt;class T&gt; void...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru