![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 08.04.2013
Сообщений: 4
|
![]()
Как можно задать направления сортировки методом пузырька в массиве?
Например дан двухмерный массив [1..4][1..4], его надо отсортировать по возрастанию как показано на изображений. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
![]()
Может быть сделать промежуточный линейный массив с указателями на элемент матрицы - эдакое конформное преобразование - и сортировать массив любым способом.
Последний раз редактировалось FPaul; 06.02.2015 в 16:45. Причина: орфография |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
или написать процедуру преобразования линейного индекса в двумерный
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 07.07.2012
Сообщений: 99
|
![]()
в целом правильно. Вам не надо направление сортировки. А отсортировать значения и записать в СООТВЕТСТВИИ с вашими линиями
Человек
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 07.07.2012
Сообщений: 99
|
![]()
2 цикла:
1 - на подъем по диагонали (увеличение индекса по горизонтали) 2 - на уменьшение индекса по горизонтали + условия выбора следующей строки (вниз или в сторону)
Человек
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Ну если поймешь и сможешь преподу объяснить
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 07.07.2012
Сообщений: 99
|
![]()
только вывод в порядке возрастания значения к
вместо k подставить отсортированный массив PS: забыл Pascal совсем Код:
Человек
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 08.04.2013
Сообщений: 4
|
![]()
Всем спасибо, всем лайки, пойду разбирать код
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
![]()
И я внесу свои 5 копеек в видение ситуации.
На основе пути в матрице создается массив указателей на элементы матрицы. И этот массив сортируется. Достоинство - произвольный метод сортировки. В начале и в конце исходника - дань разным вариантам работы с процедурными типами в разных режимах компиляции FPC. Можно везде поставить @, но нельзя привыкать к плохому. Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка методом прямого включения ( исправление метода сортировки ) Turbo Pascal | Marksman_SwAt | Помощь студентам | 1 | 06.05.2014 20:45 |
Сформировать двумерный массив и заполнить его случайными числами и отсортировать столбцы в нём методом "пузырька" ( на Pascal ) | duxa27 | Помощь студентам | 2 | 26.12.2012 12:25 |
Добавление флага в алгоритм сортировки способом пузырька (С++) | Johnny_Grunge | Помощь студентам | 0 | 23.01.2012 21:33 |
Задать двумерный массив, вывести на экран отдельно главную и побочную диагонали, отсортировать по убыванию методом пузырька | CookieStar | Помощь студентам | 6 | 12.12.2011 07:44 |
курсач по С++ на тему сортировок методом пузырька и челночным методом | ffocus | Фриланс | 13 | 05.01.2010 20:20 |