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

QuickSort где ошибка

17.01.2019, 10:23. Показов 1408. Ответов 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
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,237
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
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,237
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
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,237
17.01.2019, 12:48
Так у меня-то нормально. Как у Вас может быть по-другому? Где-то значит неправильно исправили.
Это последнее время при выводе строк?
0
10 / 8 / 2
Регистрация: 01.05.2018
Сообщений: 96
17.01.2019, 12:51  [ТС]
Ну я приду домой ещё раз проверю. Вашего вопроса не понял..
0
 Аватар для FFPowerMan
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,237
17.01.2019, 13:09
Время, которое сортируете - это последнее время в строке при выводе?
Сразу скажу, у меня оно нормально отсортировано.
0
10 / 8 / 2
Регистрация: 01.05.2018
Сообщений: 96
17.01.2019, 15:20  [ТС]
Да. Вот прилагаю скрин. Выделил то, что стоит в ненужном месте. Вроде бы всё исправил...
Миниатюры
QuickSort где ошибка  
0
 Аватар для FFPowerMan
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,237
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
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,237
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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru