|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.07.2013, 06:00 | #21 |
Пользователь
Регистрация: 13.07.2013
Сообщений: 18
|
Я не уверен что до конца въехал в тему, но почему бы не затолкать весь двумерный массив в одномерный, отсортировать, а потом порезать на куски и затолкать обратно в двумерный?
Или я чего то не догнал?
Я тебе чем-то помог? Нажми слева на значок весов. Спасибо =)
Мой сайт с видеоуроками по программированию - http://programmerinfo.ru/ Последний раз редактировалось -glykaman-; 13.07.2013 в 06:18. |
13.07.2013, 06:12 | #22 | |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Цитата:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
|
13.07.2013, 12:05 | #23 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Вчера я усердно пытался накатать что-то красивое с указателями, но мои попытки рушил злой Inc. Я надеялся, что инкриментируя указатель, он будет указывать на следующий элемент массива. В строке это прокатывало, НО при увеличении последнего элемента в строке получалось нечто не очень хорошее... Думал что SetLength сможет помочь, ан нет.. обломался.. Код:
Последний раз редактировалось Poma][a; 13.07.2013 в 12:08. |
|
13.07.2013, 16:21 | #24 |
Пользователь
Регистрация: 13.07.2013
Сообщений: 18
|
Мне кажется тогда нужно будет просто усложнить обычный метод пузырька. Когда-то решал подобное в ВУЗе было интересно.
в теле цикла for используем много условий чтобы изменить сравнения последнего элемента строки с первым элементом следующей строки. при помощи двух переменных i и j. представим что массив 4*4 Код:
Я тебе чем-то помог? Нажми слева на значок весов. Спасибо =)
Мой сайт с видеоуроками по программированию - http://programmerinfo.ru/ |
13.07.2013, 16:50 | #25 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
-glykaman-, ага, и правда, если не брать улучшенные алгоритмы сортировки, то реализовать гораздо проще (т.е. на каждой итерации сортировать весь двухмерный массив).
Мой вариант: Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
13.07.2013, 20:35 | #26 |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
вот теперь другое дело)все в теме))
-glykaman-,да спс большое алгоритм понятен)то же самое про последнюю строку и т.д. как у мну думаю алгоритм внутри итерации я правильно подумал)только разница получается в том что мой более запутан с циклами итераций)а у вас один рипит с булом))спс BDA, да вот теперь мну легко смотреть и на ваш код и видимо рипит с булом более оптимален. Код:
Код:
а так как бы не было и вам спасибо у вас более простой даже не надо проверять последний элемент строки ли) Poma][a, честно говоря не верю что этот алгоритм будет мне понятен тем более с указателем та(надо читать( Последний раз редактировалось Тамерлан Абилов; 13.07.2013 в 20:40. |
13.07.2013, 20:46 | #27 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
У меня есть элемент с номером [i,j]. Нужно получить следующий за ним элемент.
j1 это номер столбца (номер в строке). i1 это номер строки. Чтобы не делать лишних условных операторов: j1 = j + 1 преобразую в j1 = (j + 1 - 1) mod m1 + 1 = j mod m1 + 1 Таким образом, если j = m1, то j1 = 1 (переход от последнего элемента в строке к первому). Если этот переход необходим, то нужно также увеличить и номер рассматриваемой строки: i1 = i + j div m1 (если j = m1, то j div m1 = 1, иначе 0). Если i1 стал больше, чем количество строк в массиве, то делается continue (по факту, выход из цикла).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
13.07.2013, 20:58 | #28 |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
я смотрел алгоритм про i1 j1 понял но я спрашивал то что понимая что вы сейчас говорите причем тогда
Код:
|
13.07.2013, 21:36 | #29 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Не уверен, что понял вопрос.
Пока идем по строке, то сравнивается a[i, j] с a[i, j + 1]. Если дошли до конца строки, то сравниваем с a[i + 1, 1]. UPD Пожалуйста
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 13.07.2013 в 21:53. |
13.07.2013, 21:48 | #30 |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
да да совсем то что вы говорите просто mod меня перепутал оказывается))спс большое все понятно
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как определить наименьший нечетный элемент в двух мерном массиве | ВДПУ | Помощь студентам | 13 | 27.05.2012 13:35 |
Добавление флага в алгоритм сортировки способом пузырька (С++) | Johnny_Grunge | Помощь студентам | 0 | 23.01.2012 21:33 |
Задача на зачёт. Поиск элементов в 1-мерном массиве | oRik24 | Помощь студентам | 7 | 16.06.2011 11:04 |
Алгоритм поиска в массиве | elpilasgsm | Помощь студентам | 10 | 18.05.2011 17:30 |