![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
gelo777 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 29.5.2006 Репутация: нет Всего: нет |
![]() Очень прошу, пожалуйста - помогите, не знаю куда уже кинуться, нужна помощь. Написать программу , решающую математическую задачу. Задача: Даны два моножества на плоскости. Выбрать три точки из второго множества таким образом, чтобы составленный из них треугольник полностью накрывал первое множество и его площадь при этом была минимальной. Помогите, плизз! Осталось мало времени ![]() |
|||
|
||||
jxr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
Причем здесь С? Надо алгоритм? - есть форум "Алгоритм".
|
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 11 Всего: 360 |
Для домашних заданий, курсовых, существует "Центр Помощи"
Тема перенесена! Добавлено @ 20:40 Из С++ |
|||
|
||||
Friackazoid |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 23.2.2006 Репутация: 1 Всего: 3 |
Уточните каким образом задаются множества. И как должен быть оформлен вывод программы.
--------------------
Даже если тебя съели, то все равно есть два выхода.42Team блог |
|||
|
||||
nostromo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 23.3.2006 Репутация: 4 Всего: 10 |
Алгоритм может быть примерно такой (компромисс между простотой и эффективностью):
1. Строим выпуклую оболочку первого множества и выбрасываем из второго множества все точки, попадающие в нее. 2. Перебираем все пары оставшихся во втором множестве точек и выбираем только те, для которых соответствующий отрезок не пересекает выпуклую оболочку первого множества. 3. В получившемся графе из точек и отрезков ищем циклы длины три, для каждого из них проверяем, что соответствующий треугольник содержит первое множество (достаточно взять одну любую точку первого множества) и вычисляем его площадь. 4. Среди выбранных на предыдущем шаге треугольников выбираем треугольник с минимальной площадью. --------------------
На пыльных тропинках далеких планет останутся наши следы. |
|||
|
||||
gelo777 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 29.5.2006 Репутация: нет Всего: нет |
Спасибо огромное!
Извини, если что не так.. ТОлько вот бы оченьхотелось на програмный код взглянуь, очень надо.. ![]() Добавлено @ 23:59
К сожалению - нужна программа... ![]() |
|||
|
||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: нет Всего: 11 |
В качестве алгоритма подойдет полный перебор. Код попробуй написать сам.
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
B3cK |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 29.5.2005 Где: Минск Репутация: нет Всего: 1 |
По-моему легче перебором найти треугольники которые покрывают первое множество, после чего отобрать треугольник с наименьшой площадью.
Например координаты треугольника: A(Ax,Ay), B(Bx, By), C(Cx,Cy) ну и координата точки для проверки: P(x,y) Тогда: Если все опpеделители | Ax-x Ay-y | | Bx-x By-y | | Cx-x Cy-y | | Bx-x By-y | | Cx-x Cy-y | | Ax-x Ay-y | ненулевые и одного знака, то точка P находится внутpи тpеугольника ABC. Если знак одного отличается от двух дpугих - то снаpужи ABC. Если же хотя бы один из них 0 - то на гpанице. Два нуля - P совпадает с одной из веpшин. Тpи нуля - тpуегольник выpожденный A=B=C=P. Это сообщение отредактировал(а) B3cK - 31.5.2006, 02:07 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |