В основу решения возьму тот факт, что точка лежит внутри треугольника только в том случае, если сумма площадей трех образованных этой точкой и вершинами треугольников треугольников равна площади самого треугольника. Для нахождения площади треугольников использую формулу векторного произведения, деленного пополам.#include <stdio.h>#include <stdlib.h>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;}