Определите, принадлежит ли точка заданной окружности - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Как решить задачу на чистом Си? Окружность с центром в точке (x,y) проходит через точку (x1,y1). Определите, принадлежит ли точка (x2,y2) данной окружности.

Решение задачи: «Определите, принадлежит ли точка заданной окружности»

textual
Листинг программы
  if (fabs((x-x1)*(x-x1)+(y-y1)*(y-y1)-(x-x2)*(x-x2)-(y-y2)*(y-y2))<=1E-10)
     printf("лежит\n");
  else
     printf("не лежит\n");

Объяснение кода листинга программы

  1. Проверяется, принадлежит ли точка заданной окружности.
  2. В первой части условия вычисляется значение выражения (x-x1)(x-x1)+(y-y1)(y-y1)-(x-x2)(x-x2)-(y-y2)(y-y2).
  3. Если это значение меньше или равно 1E-10, то точка принадлежит окружности, и выводится сообщение лежит.
  4. В противном случае выводится сообщение не лежит.

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы