Принадлежит ли точка с координатами (х, у) заданной области? - C (СИ)
Формулировка задачи:
Составить программы на языках Pascal и Си для проверки, принадлежит ли точка с координатами (х, у) в заданной области.
Помогите пожалуйста мне нужно только на С на паскале я сам перепишу.Нужна только область закрашена черным
Решение задачи: «Принадлежит ли точка с координатами (х, у) заданной области?»
textual
Листинг программы
- #include <stdio.h>
- int main(void)
- {
- int isInsideEllipse = 0;
- int isOutsideAngle = 0;
- double x = 0.0;
- double y = 0.0;
- double k1 = -2.0 / 3.0;
- double k2 = 1.0;
- double b1 = 19.0 / 3.0;
- double b2 = -2.0;
- const double b = 3.5;
- const double a = 1.5;
- scanf("%lf", &x);
- scanf("%lf", &y);
- if ((((x - 4.5) * (x - 4.5)) / (a * a)) + (((y - 3.5) * (y - 3.5)) / (b * b)) <= 1.0)
- {
- isInsideEllipse = 1;
- }
- if ((x >= 5) || (y >= k1 * x + b1) || (y <= k2 * x + b2))
- {
- isOutsideAngle = 1;
- }
- if (isInsideEllipse && isOutsideAngle) printf("Yes\n");
- else printf("No\n");
- return 0;
- }
Объяснение кода листинга программы
- Включаем файл с библиотекой функций для работы с вводом/выводом (stdio.h)
- Задаем начальные значения переменных:
- 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
- Считываем значения координат x и y с помощью функции scanf
- Вычисляем значения для проверки принадлежности точки к эллипсу:
- если сумма квадратов разностей координат точки и центров эллипса, деленная на квадрат большой полуоси, меньше или равна 1, то точка принадлежит эллипсу
- Вычисляем значения для проверки принадлежности точки к заданному углу:
- если x больше или равно 5, или y больше или равно k1x + b1, или y меньше или равно k2x + b2, то точка принадлежит заданному углу
- Проверяем оба условия одновременно:
- если точка принадлежит и эллипсу, и заданному углу, выводим
Yes
- в противном случае выводим
No
- если точка принадлежит и эллипсу, и заданному углу, выводим
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д