IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Минимальное множество прямых (рекурсия с возвратом)
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Женский

Репутация: -  1  +


Всем доброго времени суток! Прошу помочь со следующей задачей: найти минимальное множество прямых, проходящих через все заданные точки. То есть заданы координаты точек и ответом должно быть число прямых. Не знаю как организовать перебор всех вариантов, очень прошу написать хотя бы в общем виде сам алгоритм.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Женский

Репутация: -  1  +


Прощу прощения за то что долго не отвечала, не было возможности. Но вы правы, прогресса нет, ибо хотела задать вопрос: понятно что рекурсия будет перебирать все возможные варианты, но непонятно как она будет брать, допустим, четыре точки. Ведь у нас могут лежать четыре точки на одной прямой. И, например, программа возьмет первые две, а затем две другие. Получается надо будет каждый раз где нибудь в массиве запоминать K и B, а затем при высчитывании очередных коэффициентов сравнивать их с уже посчитанными?

За код больщущее спасибо smile.gif . Только вы наверное не до конца разобрались в условии. Необходимо найти МИНИМАЛЬНОЕ множество прямых, на которых будут лежать все точки. То есть, например, для ваших точек ответ должен быть не 8, а 2. Но, насколько я понимаю, необходимо просто в ваш код добавить дополнительную переменную min, и где нибудь в программе переменную Lines каждый раз сравнивать с min?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Даша @ 19.04.2011 22:20) *
Прощу прощения за то что долго не отвечала, не было возможности. Но вы правы, прогресса нет, ибо хотела задать вопрос: понятно что рекурсия будет перебирать все возможные варианты, но непонятно как она будет брать, допустим, четыре точки. Ведь у нас могут лежать четыре точки на одной прямой. И, например, программа возьмет первые две, а затем две другие. Получается надо будет каждый раз где нибудь в массиве запоминать K и B, а затем при высчитывании очередных коэффициентов сравнивать их с уже посчитанными?
Рекурсия - это в некотором смысле способ хранения большого множества параметров в стеке. Хотя, можно это сочетать и с глобальными массивами.

Цитата
За код больщущее спасибо smile.gif . Только вы наверное не до конца разобрались в условии. Необходимо найти МИНИМАЛЬНОЕ множество прямых, на которых будут лежать все точки. То есть, например, для ваших точек ответ должен быть не 8, а 2. Но, насколько я понимаю, необходимо просто в ваш код добавить дополнительную переменную min, и где нибудь в программе переменную Lines каждый раз сравнивать с min?
Да, ты права, я неверно понял условие.. Я думал, что надо провести прямую через каждую пару точек, но при этом не учитывать повторения. Оказывается, все иначе..

Нет, простой доделкой кода тут не обойтись. Нужно менять всю схему.. Надеюсь, можно будет по крайней мере использовать функции Eq и Aligned. Я немного еще освобожусь и попробую сделать (если никто раньше не сделает))..

А задачка оказалась интереснее, чем я думал! ))


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Даша   Минимальное множество прямых (рекурсия с возвратом)   17.04.2011 21:13
Lapp   Всем доброго времени суток! Прошу помочь со сл…   18.04.2011 1:36
Даша   Вот это как раз непонятно. Как организовать пере…   18.04.2011 2:10
Lapp   Вот это как раз непонятно. Как организовать перебо…   18.04.2011 10:08
Lapp   Даша, я так понимаю, что у тебя особого прогресса …   19.04.2011 15:41
Даша   Прощу прощения за то что долго не отвечала, не был…   20.04.2011 1:20
Lapp   Прощу прощения за то что долго не отвечала, не был…   20.04.2011 10:03
Lapp   Вот. Выстругал буратинку )). Но снова она мне не …   20.04.2011 12:40
Даша   Еще раз выражаю огромную благодарность :) По коду…   20.04.2011 20:28
-TarasBer-   А разве для быстрого переноса Паскальных программ …   20.04.2011 23:19
Lapp   По коду в принципе всё понятно,Даша, не обижайся, …   21.04.2011 5:47
-TarasBer-   > А зачем? Чтоб растянуть удовольствие? Для бы…   21.04.2011 17:35
Даша   Что же, попробую ответить на ваши вопросы: 1. Что…   21.04.2011 21:13
Lapp   Для быстрого переноса Паскальных программ, и чтобы…   22.04.2011 11:35


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.05.2024 0:40
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name