Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
10 / 8 / 2
Регистрация: 01.05.2018
Сообщений: 96

QuickSort где ошибка

17.01.2019, 10:23. Показов 1441. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Третий день пытаюсь решить проблемы с быстрой сортировкой. Задача состоит в том, чтобы отсортировать рейсы quicksort'ом при нажатии на Button9. Помогите найти ошибки и объясните, пожалуйста.
Вложения
Тип файла: rar Labrab11.rar (329.5 Кб, 4 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.01.2019, 10:23
Ответы с готовыми решениями:

QuickSort в чем ошибка
выводит бесконечно "Iterations :__0 " namespace QuickSort { class Program { public static void Main(string...

Препод говорит где - то ошибка в синтаксисе. Сам код взят из "жефри Рихтер - Создание эффективных WIN32 приложений" Пожалуйста, подскажите где ошибка!
// получаем код ошибки DWORD dwError = GetDlgItemInt(hwnd, IDC_ERRORCODE, NULL, FALSE); HLOCAL hlocal = NULL; // буфер для строки с...

После строк, где 1ый элемент кратен 3, вставить строку из 0. Выводит совсем не то. где ошибка?
int n=ui->textEdit_6->toPlainText().toInt(); int m=ui->textEdit_7->toPlainText().toInt(); ui->tableWidget->setRowCount(n); ...

11
 Аватар для FFPowerMan
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,282
17.01.2019, 10:52
А может быть такое: в событии на нажатие кнопки 9 вычисляется kol. Т.е. для 5 записей в сортировку передается 5, а надо передавать 4 - указатель на последний элемент массива.
0
10 / 8 / 2
Регистрация: 01.05.2018
Сообщений: 96
17.01.2019, 11:06  [ТС]
Не, ничего не меняется. Просто выводит все экземпляры в том порядке, в котором они записаны в файле, но на один меньше.
0
 Аватар для FFPowerMan
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,282
17.01.2019, 11:50
Вот 1 ошибка:
C++
1
2
3
4
st =  mas_Z[i];
mas_Z[i]=mas_Z[j];
mas_Z[j]=st; //было i
i++; j--;
Но еще где-то они есть, видимо, потому что в 1 месте неправильно.

Добавлено через 15 минут
Вот 2 ошибка:
C++
1
quick_sort(mas_Z, kol-1); //добавил -1
Все таки надо на 1 меньше посылать, т.к. такой алгоритм.

Вот 3 ошибка:
C++
1
if(j>i) quick_sort(mas_Z+i, kol-i); //было j-i
Добавлено через 7 минут
И вот последняя 4 ошибка:
C++
1
if(kol>i) quick_sort(mas_Z+i, kol-i); //вначале было j, а не kol
0
10 / 8 / 2
Регистрация: 01.05.2018
Сообщений: 96
17.01.2019, 12:34  [ТС]
Исправил эти ошибки, теперь сортирует но до средины и после средины. А в средине все равно что-то не то.
0
 Аватар для FFPowerMan
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,282
17.01.2019, 12:48
Так у меня-то нормально. Как у Вас может быть по-другому? Где-то значит неправильно исправили.
Это последнее время при выводе строк?
0
10 / 8 / 2
Регистрация: 01.05.2018
Сообщений: 96
17.01.2019, 12:51  [ТС]
Ну я приду домой ещё раз проверю. Вашего вопроса не понял..
0
 Аватар для FFPowerMan
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,282
17.01.2019, 13:09
Время, которое сортируете - это последнее время в строке при выводе?
Сразу скажу, у меня оно нормально отсортировано.
0
10 / 8 / 2
Регистрация: 01.05.2018
Сообщений: 96
17.01.2019, 15:20  [ТС]
Да. Вот прилагаю скрин. Выделил то, что стоит в ненужном месте. Вроде бы всё исправил...
Миниатюры
QuickSort где ошибка  
0
 Аватар для FFPowerMan
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,282
18.01.2019, 09:43
Вы как исправляете-то? Вот первая строка из последних 2:
C++
1
if(j>0) quick_sort(mas_Z, j);
Вам нужно быть очень внимательным. Программирование - это не Ваша профессия.
0
10 / 8 / 2
Регистрация: 01.05.2018
Сообщений: 96
18.01.2019, 09:50  [ТС]
Так вы же мне не такой код написали. Посмотрите выше.
0
 Аватар для FFPowerMan
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,282
18.01.2019, 10:21
Лучший ответ Сообщение было отмечено bogdaneyziy как решение

Решение

4 ошибка - это последняя строка. Смотреть надо лучше.
3 и 4 ошибки из одного места.
Соответственно в других местах тоже могут быть ошибки.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.01.2019, 10:21
Помогаю со студенческими работами здесь

Вывести на экран количество слов где первая и последняя буквы одинаковы (не понимаю где ошибка)
задан текст нужно вывести на экран количество слов где первая и последняя буквы одинаковы #include <iostream> #include...

Где то есть ошибка, а вот где она?
Есть такой код, замудрённый конечно, но, как умею уж: private void button4_Click(object sender, EventArgs e) { ...

Подскажите, где может быть ошибка (структуры)? (скорее всего где-то амперсенд нужен, все вроде проверил)
написать универсальный тип, который представляет точку на плоскости в координатах (х, у) и в полярных координатах. Написать функцию для...

Где-то ошибка где не пойму
<!doctype html> <html lang="ru"> <head> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"> <meta charset="utf-8"> ...

QuickSort на C++11
Написал быструю сортировку, добился работоспособности и сразу захотелось улучшить сам код. #include <iostream> #include...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 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. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru