Принадлежит ли точка с координатами (х, у) заданной области? - C (СИ)

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

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

Составить программы на языках Pascal и Си для проверки, принадлежит ли точка с координатами (х, у) в заданной области. Помогите пожалуйста мне нужно только на С на паскале я сам перепишу.Нужна только область закрашена черным

Решение задачи: «Принадлежит ли точка с координатами (х, у) заданной области?»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.   int isInsideEllipse = 0;
  6.   int isOutsideAngle = 0;
  7.  
  8.   double x = 0.0;
  9.   double y = 0.0;
  10.   double k1 = -2.0 / 3.0;
  11.   double k2 = 1.0;
  12.   double b1 = 19.0 / 3.0;
  13.   double b2 = -2.0;
  14.   const double b = 3.5;
  15.   const double a = 1.5;
  16.  
  17.   scanf("%lf", &x);
  18.   scanf("%lf", &y);
  19.  
  20.   if ((((x - 4.5) * (x - 4.5)) / (a * a)) + (((y - 3.5) * (y - 3.5)) / (b * b)) <= 1.0)
  21.   {
  22.     isInsideEllipse = 1;
  23.   }
  24.  
  25.   if ((x >= 5) || (y >= k1 * x + b1) || (y <= k2 * x + b2))
  26.   {
  27.     isOutsideAngle = 1;
  28.   }
  29.  
  30.   if (isInsideEllipse && isOutsideAngle) printf("Yes\n");
  31.   else printf("No\n");
  32.  
  33.   return 0;
  34. }

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

  1. Включаем файл с библиотекой функций для работы с вводом/выводом (stdio.h)
  2. Задаем начальные значения переменных:
    • isInsideEllipse = 0 (принадлежит ли точка к эллипсу)
    • isOutsideAngle = 0 (принадлежит ли точка к заданному углу)
    • x = 0.0
    • y = 0.0
    • k1 = -2.0/3.0
    • k2 = 1.0
    • b1 = 19.0/3.0
    • b2 = -2.0
    • b = 3.5
    • a = 1.5
  3. Считываем значения координат x и y с помощью функции scanf
  4. Вычисляем значения для проверки принадлежности точки к эллипсу:
    • если сумма квадратов разностей координат точки и центров эллипса, деленная на квадрат большой полуоси, меньше или равна 1, то точка принадлежит эллипсу
  5. Вычисляем значения для проверки принадлежности точки к заданному углу:
    • если x больше или равно 5, или y больше или равно k1x + b1, или y меньше или равно k2x + b2, то точка принадлежит заданному углу
  6. Проверяем оба условия одновременно:
    • если точка принадлежит и эллипсу, и заданному углу, выводим Yes
    • в противном случае выводим No

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы