Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 13.09.2018
Сообщений: 126

Расстояние между точкой и отрезком, с абсолютной или относительной погрешностью не превышающей 0.0001

02.11.2018, 12:32. Показов 1193. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задан отрезок S с концами в точках (x1, y1) i (x2, y2) i точка P с координатами (x, y). Нужно найти расстояние от точки P к отрезку S.
Входные данные
В единственной строке задано 6 целых положительных цифр: x, y, x1, y1, x2, y2.
выходные данные
Выведите расстояние с абсолютной или относительной погрешностью не превышающей 0,0001.
Ограничения
0≤x, y, x1, y1, x2, y2≤10000
Примеры
Входные данные
1 1 0 0 2 2
Исходные данные
0
Пробовал так:
Pascal Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program name;
var
   x,y,x1,y1,x2,y2:longint;
   l,s1,s2,l1,l2,min:real;
begin
     read(x,y,x1,y1,x2,y2);
     s1:=(x1+x2)/2;
     s2:=(y1+y2)/2;
     l:=sqrt(sqr(x-s1)+sqr(y-s2));
     l1:=sqrt(sqr(x-x1)+sqr(y-y1));
     l2:=sqrt(sqr(x-x2)+sqr(y-y2));
     if l>l1 then min:=l1
     else min:=l;
     if min>l2 then
        min:=l2;
     writeln(min:0:0);
end.
Но ошибка на третьем тесте.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.11.2018, 12:32
Ответы с готовыми решениями:

Вычисление приближенного значения функции, с абсолютной погрешностью, не превышающей 0,001.
Написать программу вычисления приближенного значения функции, с абсолютной погрешностью, не превышающей 0,001. Для определения погрешности...

Связь между относительной погрешностью и числа значащих цифр
Значащая цифра. Число верных значащих цифр (узком и широком смысле). Связь между относительной погрешностью и числа значащих цифр

Вычислить минимальное расстояние между точкой треугольника и точкой окружности
Помогите,нужно вычислить минимальное расстояние между точкой треугольника и точкой окружности.Треугольник задаётся тремя...

5
Почетный модератор
 Аватар для Puporev
64311 / 47608 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
02.11.2018, 12:48
Посмотрите это, решение наверное не оптимальное, но идея верная.
Расстояние от точки до отрезка
0
1 / 1 / 0
Регистрация: 13.09.2018
Сообщений: 126
02.11.2018, 12:58  [ТС]
Я уже вводил код, но ошибка на втором тесте.
0
Почетный модератор
 Аватар для Puporev
64311 / 47608 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
02.11.2018, 13:43
Можно еще так.
Найти расстояние от точки до каждого из концов отрезка и высоту, Взять минимальное из этих трех.
Но суть та же.

Добавлено через 19 минут
Я вот так написал, вроде все нормально считает.
Pascal Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var x,y,x1,y1,x2,y2:longint;
    a,b,c,s,h,d:real;
begin
readln(x,y,x1,y1,x2,y2);
//длины сторон треугольника
a:=sqrt(sqr(x-x1)+sqr(y-y1));
b:=sqrt((x-x2)+sqr(y-y2));
c:=sqrt((x1-x2)+sqr(y1-y2));
//площадь треугольника
s:=abs((x-x2)*(y1-y2)-(x1-x2)*(y-y2))/2;
//высота к основанию
h:=2*s/c;
//writeln('a=',a:0:2,' b=',b:0:2,' h=',h:0:2); - для проверки
if a<b then d:=a else d:=b;
if h<d then d:=h;
write(d:0:4)
end.
0
1 / 1 / 0
Регистрация: 13.09.2018
Сообщений: 126
02.11.2018, 14:37  [ТС]
Ошибка на 3-ем тесте.
0
Почетный модератор
 Аватар для Puporev
64311 / 47608 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
02.11.2018, 16:06
Значит какой-то прикол во входных данных есть, думать нужно.

Добавлено через 2 минуты
Видимо совпадение точек 1 и 2, длина с=0, деление на 0.
Нужно проверять совпадение точек. Если да, то выводить 0.

Добавлено через 12 минут
Нет, не так. Если точки 1 и 2 совпадают, то расстояние равно любой от 3 до 1 или от 3 до 2.
Если 3 совпадает с 1 или 2, то 0.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2018, 16:06
Помогаю со студенческими работами здесь

Найти расстояние между отрезком AB и прямой
помогите написать, знаю как это в теории сделать, но не знаю как на си... Найти расстояние между произвольно заданными на плоскости...

Найти угол между отрезком прямой, соединяющей начало координат с точкой A(x,y), и осью ОХ
Задача: Найти угол между отрезком прямой, соединяющей начало координат с точкой A(x,y), и осью ОХ (точка лежит в 1-й четверти). ...

Отсортировать координаты точек по углу между осью абсцис и отрезком соединяющим начало координат с точкой
Решить задачу, используя функции пользователя. Для продвижения по массиву использовать в программе арифметику указателей, а также оператор...

Вычисление абсолютной и относительной погрешности
Помогите пожалуйста, нужно написать програму которая будет считать абсолютную и относительную погрешности числа: x = x1 / x2 x1...

Расстояние между фокусом параболы и точкой директрисы
Найти расстояние между фокусом параболы: x^2+4x-4y+24=0 и точкой ее директрисы, абсцисса которой равна 5.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Асинхронные операции в Django с Celery
py-thonny 05.04.2025
Разработчики Django часто сталкиваются с проблемой, когда пользователь нажимает кнопку отправки формы и. . . ждёт. Секунды растягиваются в минуты, терпение иссякает, а интерфейс приложения замирает. . . .
Использование кэшей CPU: Максимальная производительность в Go
golander 05.04.2025
Разработчикам хорошо известно, что эффективность кода зависит не только от алгоритмов и структур данных, но и от того, насколько удачно программа взаимодействует с железом. Среди множества факторов,. . .
Создаем Telegram бот на TypeScript с grammY
run.dev 05.04.2025
Одна из его самых сильных сторон Telegram — это интеграция ботов прямо в экосистему приложения. В отличие от многих других платформ, он предоставляет разработчикам мощный API, позволяющий создавать. . .
Паттерны распределённых транзакций в Event-Driven микросервисах
ArchitectMsa 05.04.2025
Современные программные системы всё чаще проектируются как совокупность взаимодействующих микросервисов. И хотя такой подход даёт множество преимуществ — масштабируемость, гибкость, устойчивость к. . .
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер