Задать вопрос
2 августа, 06:52

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

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

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

x1 y1

x2 y2

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

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

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

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

+1
Ответы (1)
  1. 2 августа, 07:56
    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 ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Уровень B. Задача M. Две одинаковые цифры рядом Напишите программу, которая определяет, верно ли, что введённое число содержит две одинаковых цифры, стоящие рядом (как, например, 221). Входные данные Входная строка содержит одно натуральное число.
Ответы (1)
Помогите решить! 1))) Вводятся 4 числа: a, b, c и d. Выведите все числа на отрезке от a до b, дающие остаток c при делении на d Входные данные 1 4 1 2 выходные данные 1 3 Входные данный 1 5 0 4 выходные данные 4 2))) Выведите все числа на отрезке от
Ответы (1)
Входные данные Вводится натуральное число N, которое не превосходит 30. Выходные данные Вычислите 1+2+22+23+ ...+2 N. Примеры входные данные 1 выходные данные 3 входные данные 4 выходные данные 31
Ответы (1)
Выведите все натуральные делители числа x в порядке возрастания (включая 1 и само число). Входные данные Вводится натуральное число x Выходные данные Выведите все делители числа x Примеры входные данные 7 выходные данные 1 7 входные данные 21
Ответы (1)
Даны координаты двух точек на плоскости, требуется определить, лежат ли они в одной координатной четверти или нет. (На Паскале) Входные данные Вводятся 4 числа: координаты первой точки (x1, y1) и координаты второй точки (x2, y2).
Ответы (1)