Сортировка Шелла
Отсортировать первую половину массива по возрастанию, а вторую - по убыванию. Использовать сортировку Шелла
Написал код, мозг кипит сижу уже целый день, если можно исправьте ошибки пожалуйста.
- #include <iostream>
- #include <ctime>
- using namespace std;
- void ShellSort(int** A, int ROW, int COL);
- int main()
- {
- setlocale(LC_ALL, "rus");
- srand(time(NULL));
- int ROW, COL;
- cout << "Введите кол-во строк" << endl;
- cin >> ROW;
- cout << "Введите кол-во столбцов" << endl;
- cin >> COL;
- int** A = new int* [ROW];
- for (int i = 0; i < ROW; i++)
- {
- A[i] = new int[COL];
- }
- for (int i = 0; i < ROW; i++)
- {
- for (int j = 0; j < COL; j++)
- {
- A[i][j] = rand() % 30;
- cout << A[i][j] << " ";
- }
- cout << endl;
- }
- ShellSort(A, ROW, COL);
- }
- void ShellSort(int** A, int ROW, int COL)
- {
- int step, temp;
- int i, j;
- for (step = (ROW * COL) / 2; step > 0; step /= 2)
- {
- for (i = step; i < (ROW * COL); i++)
- {
- for (j = i - step; j >= 0 && A[j] > A[j + step]; j -= step)
- {
- if (A[j] > A[j + 1])
- {
- temp = A[j];
- A[j] = A[j + step];
- A[j + step] = temp;
- }
- if (A[j] < A[j + 1])
- {
- temp = A[j];
- A[j] = A[j + step];
- A[j + step] = temp;
- }
- }
- }
- for (int i = 0; i <ROW; i++)
- {
- for (int j = 0; j < COL; j++)
- {
- cout << A[i][j] << " ";
- }
- cout << endl;
- }
- }
- }
2
94
Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Последние комментарии
- AK1 апреля 2025 г. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VP9 марта 2025 г. 16:14Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМ22 ноября 2024 г. 21:51Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Сейчас обсуждают на форуме
- МА1 апреля 2025 г. 16:210ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- f15 февраля 2025 г. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…