Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2008, 17:51   #1
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
Плохо Задачка

На садовом участке стоят беседки A, B и С. Хозяин уча-стка собирается проложить прямую аллею так, чтобы беседки были равноудалены от аллеи на наименьшее расстояние.
Требуется составить программу, которая вычисляет наи-меньшее расстояние от беседок до аллеи.
Технические требования:
Входной файл: INPUT.TXT.
Выходной файл: OUTPUT.TXT.


Формат входных данных:
Входной файл INPUT.TXT содержит шесть разделенных пробелом действительных чисел X1, Y1, X2, Y2, X3, Y3, за-дающих координаты трех беседок A(X1,Y1), B(X2,Y2), C(X3,Y3)
Формат выходных данных:
Выходной файл OUTPUT.TXT содержит одно действи-тельное число с двумя цифрами в дробной части — наи-меньшее расстояние от беседок до аллеи.

Пример файла входных данных:
0.00 0.00 2.00 2.00 4.00 0.00
Пример файла выходных данных:
1.00

Помогите пожалуйста!
Напишитк пожалуйста с комментариями!
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 25.09.2008, 01:20   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

слушайте, что то я туплю..
а как это графически (ну или математически) будет выглядеть? Как можно построить прямую, равноудалённую от ТРЁХ точек???!
может кто иллюстративный рисуночек набросает?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.09.2008, 01:24   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

кажется, один вариант дотумкал - это прямая, проходящая через середину отрезка AB между двумя точками по касательной к окружности, построенной вокруг третьей точки с радиусом равным половине отрезка AB...
афигеть... o_O
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.09.2008, 01:28   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

или нет... ;-(
а если три точки лежат на одной линии?
а если три точки образуют тупоугольный треугольник, тогда не получится с отрезком....
подскажите решение...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.09.2008, 06:50   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Три точки это треугольник. Линия от которой вершины равноудалены, это любая прямая, проходящая через средние линии треугольника. Наименьшее расстояние будет до прямой, проходящей параллельно наибольшей стороне и равно половине высоты, опущенной на эту сторону.
Нужно найти наибольшую сторону (найти три длины и макс из них), составить уравнение этой стороны. Потом составить уравнение перпендикуляра к этой прямой, проходящего через противолежащую вершину, найти точку пересечения, найти длину отрезка и взять его половину.
puporev вне форума Ответить с цитированием
Старый 25.09.2008, 11:09   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

спасибо за ответ....
а что я неправильно понял? (см. рис.)

[URL=http://g.imageshack.us/img219/treufo6.png/1/][IMG]
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.09.2008, 11:29   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Аллея - прямая линия. Расстояние от точки до прямой - перпендикуляр.
Аллея проходит через желтую точку параллельно стороне АС. Расстояние от беседок до аллеи - перпендикуляры из точек А B C на эту прмую. Их длина равна половине высоты из точки В.
puporev вне форума Ответить с цитированием
Старый 25.09.2008, 16:01   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

puporev,
я всё понял! Огромное спасибо.
Вы спасли мне остатки мозга!!! :-)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачка Claster Помощь студентам 2 24.09.2008 17:53
Задачка на С++. Mi$ter Фриланс 1 24.05.2008 09:27