|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.12.2019, 20:23 | #1 |
Новичок
Джуниор
Регистрация: 18.12.2019
Сообщений: 2
|
Помогите найти ошибку! Целый день ищем!
Код:
В Паскале АВС работает, но когда тестируем в системе проходит 30 тестов на 31 пишет runtime error. Нужно найти расстояние от точки до луча. Последний раз редактировалось Irina29; 18.12.2019 в 20:26. |
18.12.2019, 21:49 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Попробуйте точность увеличить.
Ну или b в нуле обе координаты. Какое условие? |
18.12.2019, 22:14 | #3 |
Новичок
Джуниор
Регистрация: 18.12.2019
Сообщений: 2
|
Спасибо. Условие: просто найти расстояние от точки до луча, даны 6 чисел - координаты точки и вектора, задающего луч.
|
19.12.2019, 22:37 | #4 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,331
|
Какой то сложный алгоритм выбран для решения.
Пусть координаты концов отрезка, определяющего луч: A(xa,ya) и B(xb,yb). Координаты точки: M(xm, ym). После переноса системы координат в точку A получим координаты концов отрезка: A(0,0) и B(dx, dy), где dx = xb - xa, dy = yb - ya. Уравнение отрезка примет вид: y = (dy/dx)*x или dy*x - dx*y = 0. Координаты точки в новой системе координат: xt = xm - xa yt = ym - ya Расстояние точки от отрезка: D = (dy*xt -dx*yt) / sqrt(dx*dx + dy*dy). D может быть больше нуля, ноль или меньше нуля. Знак определяет положение точки относительно прямой. Если надо знать только расстояние, то D = abs(D). И к чему тут логические выражения и условные операторы? Думаю, что записать уравнение для D на Паскале для вас не будет проблемой.
Как-то так, ...
Последний раз редактировалось ViktorR; 19.12.2019 в 22:45. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[C++] найти сумму ряда , посчитать функцию ch(x) и найти абсолютную и относительную погрешности. Помогите найти ошибку! | Vladonna | Помощь студентам | 2 | 13.09.2018 22:07 |
Найти те даты, когда день рождения попадает на тот же день | Дюша Метелкин | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 23.06.2016 11:16 |
Найти седловые точки в матрице(помогите найти ошибку) - pascal | tdsotm | Помощь студентам | 0 | 20.11.2014 18:57 |
приложение, работающее целый день | ryouzaki | Помощь студентам | 10 | 15.02.2014 22:42 |
Помогите найти ошибку - StrToFloat выдаёт ошибку EConvertError для ячеек StringGrid (Delphi) | Artsiom | Помощь студентам | 10 | 18.12.2013 14:10 |