|
2 / 2 / 0
Регистрация: 19.10.2017
Сообщений: 214
|
||||||
Быстрая сортировка матрицы по первому столбцу08.03.2020, 22:12. Показов 2622. Ответов 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
Сортировка и группировка по первому столбцу И сумма каждого значения второго и третьего столбца Найти среднее арифметическое элементов, принадлежащих первой строке, последней строке, первому столбцу и последнему столбцу. В прямоугольной матрице найти сумму элементов, принадлежащих первой строке, последней строке, первому столбцу и последнему столбцу
Сортировка матрицы по строке/столбцу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|