|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.09.2008, 17:51 | #1 |
Форумчанин
Регистрация: 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 Помогите пожалуйста! Напишитк пожалуйста с комментариями!
Программирование - это великое искусство... Такое же как например и живопись!
|
25.09.2008, 01:20 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
слушайте, что то я туплю..
а как это графически (ну или математически) будет выглядеть? Как можно построить прямую, равноудалённую от ТРЁХ точек???! может кто иллюстративный рисуночек набросает? |
25.09.2008, 01:24 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
кажется, один вариант дотумкал - это прямая, проходящая через середину отрезка AB между двумя точками по касательной к окружности, построенной вокруг третьей точки с радиусом равным половине отрезка AB...
афигеть... o_O |
25.09.2008, 01:28 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
или нет... ;-(
а если три точки лежат на одной линии? а если три точки образуют тупоугольный треугольник, тогда не получится с отрезком.... подскажите решение... |
25.09.2008, 06:50 | #5 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Три точки это треугольник. Линия от которой вершины равноудалены, это любая прямая, проходящая через средние линии треугольника. Наименьшее расстояние будет до прямой, проходящей параллельно наибольшей стороне и равно половине высоты, опущенной на эту сторону.
Нужно найти наибольшую сторону (найти три длины и макс из них), составить уравнение этой стороны. Потом составить уравнение перпендикуляра к этой прямой, проходящего через противолежащую вершину, найти точку пересечения, найти длину отрезка и взять его половину. |
25.09.2008, 11:09 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
25.09.2008, 11:29 | #7 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Аллея - прямая линия. Расстояние от точки до прямой - перпендикуляр.
Аллея проходит через желтую точку параллельно стороне АС. Расстояние от беседок до аллеи - перпендикуляры из точек А B C на эту прмую. Их длина равна половине высоты из точки В. |
25.09.2008, 16:01 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
puporev,
я всё понял! Огромное спасибо. Вы спасли мне остатки мозга!!! :-) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задачка | Claster | Помощь студентам | 2 | 24.09.2008 17:53 |
Задачка на С++. | Mi$ter | Фриланс | 1 | 24.05.2008 09:27 |