|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.07.2013, 19:37 | #1 |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
алгоритм пузырька на 2 мерном массиве
не нашел похожий топик.заранее сор за оффтоп)
помогите с алгоритмом сойдет он к учителю или надо ещё усовершенствовать?) Код:
|
12.07.2013, 19:50 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,318
|
Еще бы неплохо услышать формулировку задачи (а то только по коду не всегда можно сказать, подойдет или нет: в коде может быть "а + б", а о условию "с * д").
Кстати, в двухмерном массиве еще нужно решить как расставлять элементы (где старший располагать): построчно; постолбцово; спиралью; еще более хитро (этот вопрос должен решаться условием задачи).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
12.07.2013, 19:53 | #3 |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
честно говоря построчно или постолбцово написать не так то трудно по сравнению с этим и это интереснее)если правильно понял то думаю у мну спиралью)) короче вот так вот чтобы было после отсортировки если рандомно:
1 2 3 4 5 5 6 7 7 8 9 10 вот и вижу уже алгоритм какой запутанный у мну по вашим словам)) п.с. ну и в последок про усовершенствование нужно и бул добавить который будет подтверждать что массив уже отсортирован и прервет цикл.хоть и не сразу прерывает после итераций но тут думаю придумать что то можно) Код:
Последний раз редактировалось Тамерлан Абилов; 12.07.2013 в 20:10. |
12.07.2013, 20:37 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,318
|
У Вас как раз построчно.
Спиралью это, например: 1 2 3 8 9 4 7 6 5 Предлагаю так: Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
12.07.2013, 21:01 | #5 |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
но мне именно нужно так как я показал выше постом.а построчно я думал это типо каждую строку отдельно сортировать
1 2 3 1 2 6 8 9 11 этот код спирали?до этого мне ещё года 3-4))а если эт построчно то думаю надо думать дня 2)) |
12.07.2013, 21:03 | #6 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Мне кажется между ТС и BDA возникло недопонимание..
ТС, если Вам ввели матрицу : Код:
|
12.07.2013, 21:21 | #7 | |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
Цитата:
допустим если это ввод то вывод с принципом то что я путал т.е. построчная я думал что это будет выглядить так: 1 2 3 1 2 4 5 6 7 это я так думал что верхняя сортировка построчная по принципу одномерного массива если его разделить на три части как бы сказать думаю понятно.а то что я хочу, и мой исходник вот что делает) 1 5 6 // 1 1 4 8 1 5 -> 5 5 6 4 8 10 // 8 8 10 но в исходнике то что на первом посту массив 3 на 4) не знаю какому типу относится мой исход но я сказал спираль потому что путь сортировки получается такой Последний раз редактировалось Тамерлан Абилов; 12.07.2013 в 21:42. |
|
12.07.2013, 21:32 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,318
|
Мой код выполняет как раз Вашу сортировку (можете проверить, запустив).
Под "построчно", "постолбцово" я имел ввиду обход всей матрицы, а не сортировку каждого столбца/строки. Построчно: 1 2 3 4 5 6 7 8 Постолбцово: 1 4 2 5 3 6 Я не могу гарантировать, что Ваш код работает 100% - не проверял (да и на свой гарантий не даю ). Смысл в том, что все элементы двухмерного массива нумеруются от 1 до N*M (N - количество строк матрицы, M - столбцов), затем берутся i и i + 1 элементы и сравниваются. В принципе, код можно переписать так: Код:
Грубо говоря, происходит преобразование из одномерной системы координат {1..N*M} в двухмерную {1..N,1..M}. Выбор преобразования задает способ обхода.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 12.07.2013 в 21:47. |
12.07.2013, 21:47 | #9 |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
да нумеруются от 1 до н*м.просто тогда не легче взять все это записать на одномерный и проверять так?я тоже думал так но при этом такую операцию сделать сложно если дать аналогию одномерного:
Код:
а ваш вариант обязательно посмотрю просто для меня он как бы алгоритм из другой планеты не приходилось на такие вещи сталкиваться)) п.с. а вот для Код:
|
12.07.2013, 21:56 | #10 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,318
|
Я не могу написать сортировку пузырьком без пол-литра без википедии (Сортировка пузырьком), так как не использую ее.
По примеру оттуда: Код:
Насчет вариантов сортировки - еще можно змейкой: 1 2 3 4 8 7 6 5 9 10 11 12 Для меня сложнее понять Ваши проверки, чем сделать преобразование из одних "координат" в другие.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 12.07.2013 в 22:02. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как определить наименьший нечетный элемент в двух мерном массиве | ВДПУ | Помощь студентам | 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 |