uses crt;
const t=0.0001;
function Plosh(x1,y1,x2,y2,x3,y3:real):real;
begin
Plosh:=abs((x1-x2)*(y3-y2)-(y1-y2)*(x3-x2))/2;
end;
var x1,y1,x2,y2,x3,y3,tx,ty,s:real;
begin
clrscr;
writeln('Введите координаты вершин треугольника:');
writeln('Вершина 1:');readln(x1,y1);
writeln('Вершина 2:');readln(x2,y2);
writeln('Вершина 3:');readln(x3,y3);
if Plosh(x1,y1,x2,y2,x3,y3)<t then
write('Это не треугольник!')
else
begin
writeln('Введите координаты точки:');
readln(tx,ty);
s:= Plosh(x1,y1,x2,y2,tx,ty)+ Plosh(x1,y1,tx,ty,x3,y3)+ Plosh(tx,ty,x2,y2,x3,y3);
if abs(Plosh(x1,y1,x2,y2,x3,y3)-s)<t then
write('Точка принадлежит треугольнику!')
else write('Точка не принадлежит треугольнику!');
end;
readln
end.