![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| mr. Borland |
|
|||
|
Unregistered |
Кто знает где можно достать алгоритм объединения отрезков ответьте или [email protected]
Задача такая: дано n пар чисел - координаты начала и конца отрезка. Надо обединить все отрезки и результат представить как k новых пар. Если у кого-нить есть что-то подобное, плз, киньте на мыло или ссылку дайте. Буду очень благодарен. |
|||
|
||||
| Krokodil |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 5.12.2004 Репутация: нет Всего: нет |
А можно условие задачи по-подробнее?
|
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Нет, тут координнаты начал и концов отрезков. Отрезки - на прямой. Т. е. если, скажем, есть три пары типа 1 5 4 6 8 9 то надо объединить отрезки [1;5]U[4;6]U[8;9] результатом будут отрезки [1;6]U[8;9] и пары чисе 1 6 8 9 Пробовал задать все исходные отрезки как массив записей с целыми полями координат начала и конца, но не могу написать код для получения нового массива с объединенными отрезками. Вот в этом и вся сложность задачи. |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
А-а-а-а-а-а-а....
Но к сожалению прога имеет недостаток ─ числа из предела 0..255 Это сообщение отредактировал(а) Zero - 5.12.2004, 20:12 |
|||
|
||||
| mr. Borland |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 5.12.2004 Репутация: нет Всего: нет |
(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
То что надо! сеня вечером загоню это все в свой проект, немногоо подредактирую, а завтра уже буду по мелочи дорабатвыть - меню там и хэлп. Пасиб, зеро!!! |
|||
|
||||
| mr. Borland |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 5.12.2004 Репутация: нет Всего: нет |
Боюсь, рано я радовался. Прогрмма отличная и работает, но только сеня утром узнал от знакомого об одном маленьком, но очень противном требовании курсовой. Стандартный тип Set Паскаля использовать совсем запрещено, можно лишь массивы или линейные списки. Ладно, бум думать, еще время до пятницы есть... |
|||
|
||||
| mr. Borland |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 5.12.2004 Репутация: нет Всего: нет |
Смог переделать программу без использования множества z.
Просто загоняю все введенные элементы в массив b, потом всем повторяющимся элементам присваиваю 100 и сортирую по возрастанию. Все сотые элементы остаются в конце и кодом
узнаю реальную мощность получившегося множеста загнаного в массив b. Потом при выводе просто даю указание не выводить отрезки типа [100;x] и [x;100]. Все хорошо НО!!!
Да нет, один сбой все же есть. При вводе отрезков вроде 1 2 3 4 т. е. когда границы соседних отрезков отличаются на 1, прога вместо положенных 1 2 3 4 выдает 1 4. И как тут быть? Может кто знает? Помогите! |
||||
|
|||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
А на счёт, множества... раз нельзя исп. стандартный тип, то можеш исп. обычные, заменяюцие множество... Я не совсем понял чё ты там наделал, но ты можеш заполнять массив B (в той проге которую писал я), так: Короче с исп. цикла, проверяеш каждый елемент массива,и если текущий записываемый элемент не находится в массиве, то записываеш его туда, и т.д., тогда ты сможеш убрать привязанность к промежутку [0..255], а выставиш сам какой захочеш, правда чем он будет больше тем прога будет работать медленнее... Это сообщение отредактировал(а) Zero - 6.12.2004, 19:43 |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Хотя ладно, я тоже не люблю когда мне не понятно скажут что как делать, а код не представят, поэтому представляю тебе "модифицированый метод Zero, объединения отрезков"
Здесь не используется тип Set of (множественный тип), и ещё промежуток не [0..255], а какой ты сам поставиш, единственный, теперь недостаток ─ это медленне работать стала |
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |