Определить, принадлежит ли точка фигуре - 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) )

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

В данном коде реализована проверка принадлежности точки к фигуре. Вот список элементов кода с их номерами и описанием:

  1. (x >= 0) && (x <= 1) - Проверка, что значение переменной x находится в диапазоне от 0 до 1 включительно.
  2. (y >= 0) && (y <= 1) - Проверка, что значение переменной y находится в диапазоне от 0 до 1 включительно.
  3. (x*x + y*y <= 1) - Проверка, что сумма квадратов x и y не превышает 1.
  4. (y <= 0) && (x*x + y*y <= 1) - Проверка, что значение переменной y меньше или равно 0 и сумма квадратов x и y не превышает 1.
  5. (x >= 0) && (x <= 1) - Проверка, что значение переменной x находится в диапазоне от 0 до 1 включительно.
  6. (y >= 0) && (y <= 1) - Проверка, что значение переменной y находится в диапазоне от 0 до 1 включительно.
  7. (x*x + y*y <= 1) - Проверка, что сумма квадратов x и y не превышает 1.
  8. (y <= 0) && (x*x + y*y <= 1) - Проверка, что значение переменной y меньше или равно 0 и сумма квадратов x и y не превышает 1. Таким образом, данный код проверяет принадлежность точки к фигуре, которая задана условием внутри скобок.

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

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