|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
||||||
Быстрая сортировка матрицы по первому столбцу08.03.2020, 22:12. Показов 2578. Ответов 17
Мне нужно с помощью быстрой сортировке отсортировать матрицу. Матрица состоит из 0 и 1, кроме первого, первый столбец - это сумма элементов каждой строки.
Код:
0
|
||||||
| 08.03.2020, 22:12 | |
|
Ответы с готовыми решениями:
17
Сортировка данных в файле по первому и второму столбцу |
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 09.03.2020, 02:11 | |
|
сначала внесите правки в код, про которые Вам уже говорилось:
Ошибка в сложении массива потом продолжим исправления Добавлено через 6 минут и напишите оригинал условия задачи - скорее всего столбец с суммами в матрице не нужен
0
|
|
|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
||
| 09.03.2020, 11:04 [ТС] | ||
|
Теперь насчёт нужности первого столбца. Вообще в задаче к матрице я должен добавить не один, а 4 столбца, которые представляют некие факторы, первый и самый простой я назвал. Отсортировать матрицу мне нужно так: по первому столбцу по убыванию, дальше одинаковые значения сортируем по второму столбцу, тоже по убыванию, дальше по третьему, но уже по возрастанию и по четвёртому столбцу сортируем тоже по возрастанию. Пример: 7521.. 7537.. 7482.. 4645.. 4648.. 1845.. 1471..
0
|
||
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|||
| 09.03.2020, 11:25 | |||
|
0
|
|||
|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
|||||||
| 09.03.2020, 11:48 [ТС] | |||||||
|
Так вот, сортировка происходит, как обычная сортировка 4-хзначного числа по убыванию, с отличаем только в том, 2 последних цифры числа мы сортируем по возрастанию.
0
|
|||||||
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 09.03.2020, 11:56 | |
|
Knzj, нужен пример ввода-вывода
0
|
|
|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
|
| 09.03.2020, 12:11 [ТС] | |
|
Смотрите, на ввод идёт матрица (я её добавлю из документа), дальше у неё для каждой строки будут выявлены 4 фактора, которые я добавлю в матрицу к каждой строке на позиции 0-3. Дальше я должен с помощью быстрой сортировки отсортировать матрицу по этим первым 4-м столбцам. На выход получится отсортированная матрица, которую я добавлю в файл. Не буду вас нагружать сутью этих факторов, можно принять за начало, что они уже включены в матрицу, и начать сортировку.
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||||||
| 09.03.2020, 12:20 | ||||||
|
Knzj, если Вы не желаете приводить пример, дорабатывайте сами что Вам там нужно:
0
|
||||||
|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
|
| 09.03.2020, 12:37 [ТС] | |
|
Я не совсем понял, какой именно вы ходите пример, начальную матрицу (без факторов), а потом итоговую? Просто в данном случае суть не в этом. А эти факторы должны быть в матрице, для проверки работы алгоритма их можно вообще рандомно добавить и по ним сделать быстрою сортировку.
Я, надеюсь, не слишком плохо донёс мысль
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 09.03.2020, 14:39 | |
|
Knzj, я там код сбросил, если заметили. по такому принципу нужно сортировать ?
что Вам неясно насчёт примера ? у Вас есть матрица. она находится в файле. Вы хотите её отсортировать каким-то образом и записать в другой файл. напишите какая матрица в первом файле и какая матрица должна оказаться во втором файле, а также критерии сортировки.
0
|
|
|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
||
| 09.03.2020, 19:46 [ТС] | ||
|
Yetty,
Моя матрица 40 на 21, но я вам покажу пример поменьше. Итак, вот начальная матрица, я решил уже тут указать сумму 1) Я отсортировал матрицу по убыванию суммы строк. 2) Я отсортировал матрицу по некому критерию, тоже по убыванию. 3) Если некоторые значения после выполнения (2) равны, то я сортирую по 3-му фактору (по возрастанию). 4) Если некоторые значения после выполнения (3) тоже равны, то я сортирую по последнему 4-му фактору (по возрастанию). В итоге у меня получается следующее: Ничего, что в таком виде?
0
|
||
|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
|
| 09.03.2020, 19:50 [ТС] | |
|
Вот тут немного подробнее:
Пример.docx
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 09.03.2020, 20:57 | |
|
Knzj, как отсортировать по сумме я показал в коде, дальше я не понимаю, где Вы берёте значения ind2 и что нужно сортировать, если значения ind2 уже заранее отсортированы по убыванию
ind2 5 2 2 1 0 0
0
|
|
|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
|
| 09.03.2020, 21:18 [ТС] | |
|
Насчёт того откуда берётся ind2, если надо объясню чуть попозже (это не очень быстро объяснишь), а насчёт того, что по ind2 отсортировано, это не верно, посмотрите вторую и третью версии матриц.
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 09.03.2020, 21:44 | |
|
хорошо, по первому столбцу (там где суммы) отсортировали. дальше хотите те же самые строки отсортировать по второму столбцу ? если да, элементы столбца суммы тоже включать ?
Добавлено через 7 минут почему меняется количество строк ?
0
|
|
|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
||||
| 09.03.2020, 22:56 [ТС] | ||||
|
Это вспомогательные значения нужны только для вычисления ind3, она в матрицу не входит.
0
|
||||
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|||
| 09.03.2020, 23:02 | |||
|
0
|
|||
|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
||
| 09.03.2020, 23:11 [ТС] | ||
|
А, ну в 3 и 4 случаях - это я упустил одну строку, где ind2 = 0, а насчёт последней - это уже я работаю с итоговой матрицей и беру оттуда нужные мне данные, на неё можно не смотреть.
Добавлено через 5 минут
0
|
||
| 09.03.2020, 23:11 | |
|
Помогаю со студенческими работами здесь
18
Сортировка и группировка по первому столбцу И сумма каждого значения второго и третьего столбца Найти среднее арифметическое элементов, принадлежащих первой строке, последней строке, первому столбцу и последнему столбцу. В прямоугольной матрице найти сумму элементов, принадлежащих первой строке, последней строке, первому столбцу и последнему столбцу
Сортировка матрицы по строке/столбцу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|