![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.03.2014
Сообщений: 23
|
![]()
Hапишите пожалуйста какие нужно использовать формулы для нахождения правильного результата, не могу понять как решить это задание. Заранее спасибо!
Описание задания: Найти расстояние между прямой, проходящей через две точки K(x_k, y_k) и М(x_m, y_m), и треугольником на плоскости, заданным координатами своих вершин A(x_a, y_a), B(x_b, y_b), С(x_с, y_с). Формат входных данных: [x_k] [y_k] [x_m] [y_m] [x_a] [y_a] [x_b] [y_b] [x_с] [y_с]. Координаты задаются целыми числами в диапазоне ±1000. Пример: 0 0 1 5 3 8 4 3 4 5 Формат выходных данных: [расстояние]. Расстояние представляется вещественным число с точностью до двух знаков. Пример: 1.23 Самое простое смог сделать, формулу не знаю какую надо применить Код:
Последний раз редактировалось Stilet; 13.03.2014 в 20:40. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
![]()
1. Вам нужно вывести формулу прямой по двум точкам.
2. Потом рассчитать расстояния от линии до каждой точки треугольника. (лениво формулы писать) Минимальное значение и будет искомым расстоянием. 3. учесть случай, когда прямая пересекает треугольник. А это случается, когда точки треугольника с отличным от нуля расстоянием до линии лежат по разные стороны от нее: (соответствующая теория) Последний раз редактировалось Smogg; 13.03.2014 в 18:37. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 13.03.2014
Сообщений: 23
|
![]()
В чём я ошибся?(пишу код постепенно)
Код:
Цитата:
Последний раз редактировалось Stilet; 13.03.2014 в 20:40. |
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
![]()
sqrt((float)(a^2+b^2)) - тип аргумента, передаваемого в scanf, нужно привести к float/double.
Или можете сразу объявить a, b, с как double. Тогда и результат a^2+b^2 тоже будет double. |
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 13.03.2014
Сообщений: 23
|
![]() Цитата:
получились d1=2.85 d2=6.94 d4=6.12 вместо 1.23 где я ошибся? |
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
![]()
a^2 - не возведение в квадрат. ^ - это оператор исключаюещего ИЛИ
Последний раз редактировалось Smogg; 13.03.2014 в 22:02. |
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 13.03.2014
Сообщений: 23
|
![]() Цитата:
1.23 так близко.... |
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
![]() Код:
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 13.03.2014
Сообщений: 23
|
![]() Код:
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Даны три сторони треугольника a,b,c, написать программу для вычисления трёх высот данного треугольника | giganto97 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 13.10.2013 11:00 |
Даны декартовы координаты вершин треугольника (в плоскости). Разработать проект, вычисляющий площадь и периметр этого треугольника | Яночка190 | Общие вопросы Delphi | 1 | 12.01.2013 12:49 |
найти расстояние от произвольной точки до ближайшей стороны треугольника. Неправильно находит расстояние | zaira001002 | Помощь студентам | 4 | 05.11.2012 20:55 |
как найти расстояние между отрезком и прямой? | student_92 | Общие вопросы C/C++ | 16 | 20.03.2012 21:50 |
кратчайшее расстояние от заданной точки до ближайщей стороны треугольника | ddeman666 | Помощь студентам | 1 | 03.05.2010 14:47 |