Заданы координаты вершин треугольника и точки. определить, лежит ли точка внутри треугольника. написать программу в c++ или хотя бы формулу, по которой высчитывать это. за внимание
1. var f_name,s_name:string; begin writeln('Введите имя'); readln(f_name); writeln('Введите фамилию'); readln(s_name); writeln('Доброе утро ',f_name,' ',s_name); end.
2. var s,a:real; i:integer; begin s:=0; for i:=1 to 5 do begin writeln('Введите число №',i); readln(a); s:=s+a; end; writeln('Сумма=',s) end.
3. var s,a:real; i:integer; begin s:=1; for i:=1 to 3 do begin writeln('Введите число №',i); readln(a); s:=s*a; end; writeln('Произведение=',s); end.
4. var a, b, c, max: integer; begin write ('Введите три числа: '); readln (a, b, c); if a >= b then max := a else max := b; if c > max then max := c; writeln ('Максимальное число: ', max); end.
x1, y1, x2, y2, x3, y3 - координаты точек треугольника, x, y - координаты точки.
Найдем векторное произведение, которое равно удвоенной площади треугольника.
Исходный код:
#include <iostream>
using namespace std;
int main() {
int x1, y1, x2, y2, x3, y3, x, y;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x >> y;
if (abs((x1 - x) * (y2 - y) - (x2 - x) * (y1 - y)) +
abs((x1 - x3) * (y - y3) - (x - x3) * (y1 - y3)) +
abs((x - x3) * (y2 - y3) - (x2 - x3) * (y - y3)) ==
abs((x1 - x3) * (y2 - y3) - (x2 - x3) * (y1 - y3)))
{
cout << "In";
} else {
cout << "Out";
}
return 0;
}