Определить, принадлежит ли точка фигуре - C (СИ) (72799)
Формулировка задачи:
Доброго времени суток, помогите решить задачу, код я написал, только его нужно чуть изменить! Суть задачи заключается в том чтобы определить принадлежит ли точка фигуре (картинка фигуры во вложении). Все работает только область которая лежит в 1 четверти, вне радиуса круга, не принадлежит фигуре я не могу сообразить как сделать так чтобы эта область принадлежала!
#include "stdio.h"
#include "locale.h"
#include "math.h"
int main (void)
{
setlocale(LC_ALL, "rus");
double x, y;
printf ("Введите координату x >");
scanf("%lf", &x);
printf ("Введите координату y >");
scanf("%lf", &y);
printf("x=%6.3lf; y=%6.3lf\n", x,y);
if ((x<=1)
&& (x>=0)
&& (y<=1)
&& (y>=-1)
&& (x*x+y*y<=1))
printf("Точка попадает в область\n");
else printf("Точка не попадает в область\n");
return 0;
}Решение задачи: «Определить, принадлежит ли точка фигуре»
textual
Листинг программы
(x >= 0) && (x <= 1) && ( (y >= 0) && (y <= 1) || (y <= 0) && (x*x + y*y <= 1) )
Объяснение кода листинга программы
В данном коде реализована проверка принадлежности точки к фигуре. Вот список элементов кода с их номерами и описанием:
(x >= 0) && (x <= 1)- Проверка, что значение переменнойxнаходится в диапазоне от 0 до 1 включительно.(y >= 0) && (y <= 1)- Проверка, что значение переменнойyнаходится в диапазоне от 0 до 1 включительно.(x*x + y*y <= 1)- Проверка, что сумма квадратовxиyне превышает 1.(y <= 0) && (x*x + y*y <= 1)- Проверка, что значение переменнойyменьше или равно 0 и сумма квадратовxиyне превышает 1.(x >= 0) && (x <= 1)- Проверка, что значение переменнойxнаходится в диапазоне от 0 до 1 включительно.(y >= 0) && (y <= 1)- Проверка, что значение переменнойyнаходится в диапазоне от 0 до 1 включительно.(x*x + y*y <= 1)- Проверка, что сумма квадратовxиyне превышает 1.(y <= 0) && (x*x + y*y <= 1)- Проверка, что значение переменнойyменьше или равно 0 и сумма квадратовxиyне превышает 1. Таким образом, данный код проверяет принадлежность точки к фигуре, которая задана условием внутри скобок.