Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 02.11.2022
Сообщений: 7

Написать программу быстрой сортировки массива

03.11.2022, 01:12. Показов 1191. Ответов 18

Студворк — интернет-сервис помощи студентам
Написать программу быстрой сортировки массива, двоичного поиска повторяющихся элементов и замены их пользователем. Предусмотреть операции сложение, вычитание, умножение, деление и возведение в степень. К числам также применима операция унарного минуса.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.11.2022, 01:12
Ответы с готовыми решениями:

Пытаюсь написать программу для быстрой сортировки
#include <iostream> using namespace std; void Sort(){ int n, a, j; cout<<"Skolko elementov v massive?\n"; cin>>n; int arg; ...

Пытаюсь написать программу для быстрой сортировки
Пытаюсь написать программу быстрой сортировки, работает некорректно, может кто посмотреть? #include <iostream> using namespace...

Методом быстрой сортировки упорядочить по убыванию введенный пользователем массив вещественных чисел
Написать программу, которая методом быстрой сортировки упорядочивает по убыванию введенный пользователем массив вещественных чисел....

18
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
03.11.2022, 16:25
Это смесь предложений из разных заданий что-ли?

Цитата Сообщение от Yersayin Посмотреть сообщение
Предусмотреть операции сложение, вычитание, умножение, деление и возведение в степень.
Раньше говорилось про массив. Возведение массива в степень!? Вы знаете, какой результат умножения массива на массив, а результата на массив?

Цитата Сообщение от Yersayin Посмотреть сообщение
К числам также применима операция унарного минуса.
Что за числа имеются в виду?
0
0 / 0 / 0
Регистрация: 02.11.2022
Сообщений: 7
03.11.2022, 21:23  [ТС]
Ничего особого не пытались донести, знаю что нужно сделать его на python-e, я пытался сделать через бинарный поиск двоичный, но сказали что не правильно, это курсовая работа, нужно сделать программу быстрой сортировки массива

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

Добавлено через 1 час 12 минут
lemegeton, Оказывается я допустил ошибку, здесь задания такая что: Написать программу быстрой сортировки массива, двоичного поиска повторяющихся элементов и замены их пользователем. Предусмотреть операции создания файла, записи данных в файл и чтения файла для обработки.
0
Гвоздь Задиров
 Аватар для Folian
1718 / 1117 / 337
Регистрация: 25.01.2019
Сообщений: 2,940
03.11.2022, 21:33
Цитата Сообщение от Yersayin Посмотреть сообщение
нужно сделать его на python-e
Цитата Сообщение от Yersayin Посмотреть сообщение
Метки c++, c++ 2 курс
0
0 / 0 / 0
Регистрация: 02.11.2022
Сообщений: 7
03.11.2022, 21:44  [ТС]
Folian, только что исправил, и снова случайно отправил в категорию с++
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
04.11.2022, 08:46
Yersayin, рекомендую выбирать выражения... А быстрая сортировка вот:

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
 
using namespace std;
 
void Qsort(int *arr, int beg, int end)
{
    int i,j,sep,tmp;
 
    if (abs(end-beg)<=1) return;
    
    sep=arr[(beg+end)/2];
    
    i=beg;
    j=end;
    
    while (1)
    {
        while (arr[i]<sep) i++;
        while (arr[j]>sep) j--;
 
        if (i<=j)
        {
            tmp=arr[i];
            arr[i]=arr[j];
            arr[j]=tmp;
            i++;
            j--;
        }
        
        if (i>j) break;
        
    }
    
    Qsort(arr,beg,j);
    Qsort(arr,i,end);
    
}
 
 
int main()
{
    int n;
    
    cin >> n;
    
    int *arr = new int[n];
    
    for (int i=0; i<n; i++) cin >> arr[i];
    
    Qsort(arr,0,n-1);
    
    for (int i=0; i<n; i++) cout << arr[i] << " ";
    
    delete [] arr;
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 02.11.2022
Сообщений: 7
04.11.2022, 16:25  [ТС]
Catstail, Здравствуйте, спасибо за ответ и проделанную вашей работы, хотел бы спросить, возможно ли и на python`e прописать такое а не только в С++?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
04.11.2022, 19:22
Yersayin, можно. Что и делалось. Но нужно задать вопрос в соотв. разделе
0
0 / 0 / 0
Регистрация: 02.11.2022
Сообщений: 7
04.11.2022, 20:56  [ТС]
Catstail, Можете подкорректировать под Python тогда, потому что там пишется что invalid system, к сожалению на python`e не работал никогда
0
Гвоздь Задиров
 Аватар для Folian
1718 / 1117 / 337
Регистрация: 25.01.2019
Сообщений: 2,940
04.11.2022, 21:14
Цитата Сообщение от Yersayin Посмотреть сообщение
Можете подкорректировать под Python тогда, потому что там пишется что invalid system, к сожалению на python`e не работал никогда
Хочешь чтоб за тебя всё сделали?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
04.11.2022, 21:19
Yersayin, задай вопрос в разделе "Питон для начинающих" или "Питон. Решение задач"
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,266
05.11.2022, 12:04
Никому не верю на слово. Решил проверить скорость работы быстрой сортировки по сравнению хоть с пузырьком. Но, как оказалось - не очень то она и сортирует. Ниже код проверки и результат работы программы:

C++ (Qt)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
void Qsort(int *arr, int beg, int end)
{
    int i,j,sep,tmp;
 
    if (abs(end-beg)<=1) return;
 
    sep=arr[(beg+end)/2];
 
    i=beg;
    j=end;
 
    while (1)
    {
        while (arr[i]<sep) i++;
        while (arr[j]>sep) j--;
 
        if (i<=j)
        {
            tmp=arr[i];
            arr[i]=arr[j];
            arr[j]=tmp;
            i++;
            j--;
        }
 
        if (i>j) break;
 
    }
 
    Qsort(arr,beg,j);
    Qsort(arr,i,end);
}
 
 
 
 
 
// нажатие кнопки
void Widget::press_pbtn_01()
{
 
    int n = 1000;
    int *arr = new int[n];
 
    QString str1, str2;
 
    srand(1);
 
    for(int i = 0; i < n; i++)
    {
        arr[i] = qrand();
    }
 
    for(int i = 0; i < 15; i++)
    {
        str1 += QString::number(arr[i]) + " ";
    }
 
    ui->label_01->setText(str1);
 
 
    Qsort(arr, 0, n-1);
 
 
    for(int i = 0; i < 15; i++)
    {
        str2 += QString::number(arr[i]) + " ";
    }
 
    ui->label_02->setText(str2);
}
Миниатюры
Написать программу быстрой сортировки массива  
0
Заблокирован
05.11.2022, 12:42
alexu_007,
Роберт Седжвик
Фундаментальные алгоритмы на С++

Часть 3. Сортировка
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,266
05.11.2022, 13:18
И что? Это как-то объясняет неправильную сортировку?
0
Заблокирован
05.11.2022, 13:35
Цитата Сообщение от alexu_007 Посмотреть сообщение
И что?
Цитата Сообщение от alexu_007 Посмотреть сообщение
Решил проверить скорость работы быстрой сортировки по сравнению хоть с пузырьком.
Не умеем читать - не открываем форум.

Добавлено через 5 минут
Цитата Сообщение от alexu_007 Посмотреть сообщение
Это как-то объясняет неправильную сортировку?
Там маленькая ошибка всего.
https://onlinegdb.com/3UEgJB6p5

Добавлено через 50 секунд
в строке 9
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,266
05.11.2022, 13:37
Цитата Сообщение от SmallEvil Посмотреть сообщение
Не умеем читать - не открываем форум.
Предлагаете прочитать всю книжку?
Или это алгоритм быстрой, но приблизительной сортировочки - почти всё сортирует, но иногда лажает?

А вот моё мнение: этот код быстрой сортировки кто-то скопирует. Потом, не проверив, включит в свою программу. А потом очередной Фобос упадёт на грунт.
0
Заблокирован
05.11.2022, 13:44
Цитата Сообщение от alexu_007 Посмотреть сообщение
А вот моё мнение: этот код быстрой сортировки кто-то скопирует. Потом, не проверив, включит в свою программу. А потом очередной Фобос упадёт на грунт.
Все ошибаются.
Кто то скопирует не прочитав топик ? Удачи такому горячему погроммисту.
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,266
05.11.2022, 13:45
Ну вот так "if(beg > end) return;" сортирует правильно. Теперь можно тестить на быстродействие.

Цитата Сообщение от SmallEvil Посмотреть сообщение
Кто то скопирует не прочитав топик ?
Так уже отметили как решение.
0
Заблокирован
05.11.2022, 14:20
Цитата Сообщение от alexu_007 Посмотреть сообщение
Предлагаете прочитать всю книжку?
Нет, только часть про сортировки, раз вас она заинтересовала.
Основная суть в том, что быструю сортировку используют совместно с другими видами сортировки.
Для повышения эффективности.

Добавлено через 5 минут
Цитата Сообщение от alexu_007 Посмотреть сообщение
Ну вот так "if(beg > end) return;" сортирует правильно.
if (beg>=end) return;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2022, 14:20
Помогаю со студенческими работами здесь

Пример быстрой сортировки массива строк и сортировки методом выбора
Добрый вечер. Скиньте пожалуйста пример быстрой сортировки массива строк и сортировки массива строк методом выбора. Очень срочно надо,...

Сортировка массива методом быстрой сортировки
Здравствуйте, у меня есть очень глупый вопрос, но тем не менее ничего не могу с этим поделать. Есть следующий код сортировки, который...

Написать программу сортировки массива размерности N
Написать программу сортировки массива размерности N. Сортировка массива должна проходить в функции и с рекурсивным вызовом функции. Если...

Написать программу для сортировки массива по возрастанию
Написать программу в с++: Дан массив целых чисел. Написать программу для сортировки массива по возрастанию.

Написать программу сортировки 10-значного одномерного массива
1.Ввод первоначальных данных произвести с клавиатуры. 2.Просьба, чтобы массив отсортировался от минимального значения до максимального. ...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru