Задать вопрос
9 марта, 09:48

Напишите алгоритм решения задачи на языке С + +

Принадлежит ли заданая точка внутренней области треугольника.

Входные данные

x1 y1

x2 y2

x3 y3 - координаты вершин треугольника

x0 y0 - координаты данной точки

Исходные данные

Ответ " YES " или "NO ".

+1
Ответы (1)
  1. 9 марта, 12:48
    0
    В основу решения возьму тот факт, что точка лежит внутри треугольника только в том случае, если сумма площадей трех образованных этой точкой и вершинами треугольников треугольников равна площади самого треугольника. Для нахождения площади треугольников использую формулу векторного произведения, деленного пополам.

    #include

    #include

    using namespace std;

    int main () {

    int x1, y1, x2, y2, x3, y3, x0, y0;

    scanf ("%d%d%d%d%d%d%d%d", &x1, &y1, &x2, &y2, &x3, &y3, &x0, &y0) ;

    if (abs ((x1 - x0) * (y2 - y0) - (x2 - x0) * (y1 - y0)) +

    abs ((x1 - x3) * (y0 - y3) - (x0 - x3) * (y1 - y3)) +

    abs ((x0 - x3) * (y2 - y3) - (x2 - x3) * (y0 - y3)) = =

    abs ((x1 - x3) * (y2 - y3) - (x2 - x3) * (y1 - y3)))

    {

    printf ("YES") ;

    } else {

    printf ("NO") ;

    }

    return 0;

    }
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Напишите алгоритм решения задачи на языке С + + Принадлежит ли заданая точка внутренней области треугольника. Входные данные x1 y1 x2 y2 x3 ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы