Написать программу для паскаля, которая по трем парам (х,у) введенных с клавиатуры координат определит, находится ли начало координат внутри треугольника, заданного этими тремя вершинами

Написать программу для паскаля, которая по трем парам (х,у) введенных с клавиатуры координат определит, находится ли начало координат внутри треугольника, заданного этими тремя вершинами
Гость
Ответ(ы) на вопрос:
Гость
{ входит ли начало координат в треугольник } type point = record        x,y: real;      end; var s0,s: real;     pts: array [1..3] of point;     i: integer; begin { считывание координат точек}   for i:=1 to 3 do    begin      writeln('точка ',i,'  x ',' y ');      write('         ');      readln(pts[i].x,pts[i].y);   end;   { вычисляем площадь треугольника ABC  через векторное произведение }   s0:=(pts[2].x-pts[1].x)*(pts[3].y-pts[1].y) -        (pts[3].x-pts[1].x)*(pts[2].y-pts[1].y);   s0:=abs(s0); { вычисляем сумму площадей треугольников  из начала координат }   s:=abs(pts[1].x*pts[2].y - pts[2].x*pts[1].y);   s:=s+abs(pts[2].x*pts[3].y - pts[3].x*pts[2].y); { если  s > s0 , то начало координат вне треугольника }   if s>s0 then writeln('начало координат вне треугольника')   else writeln('начало координат внутри треугольника'); end. На тестовой задаче: точка 1  x  y               -1 -3 точка 2  x  y               -3 2 точка 3  x  y                4 3 начало координат внутри треугольника точка 1  x  y              -2 0 точка 2  x  y               -3 2 точка 3  x  y               4 3 начало координат вне треугольника  
Не нашли ответ?
Ответить на вопрос
Похожие вопросы