Дана точка А(х, у). Определить, принадлежит ли она треугольнику с вершинами в точках (X1, у1), (х2, У2), (х3,y3).
спросил 18 Дек, 18 от cevka в категории школьный раздел


решение вопроса

+7
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.
ответил 18 Дек, 18 от Olenka
+7
uses crt;
var x1,y1,x2,y2,x3,y3,tx,ty:real;
begin
clrscr;
writeln('Введите координаты вершин треугольника по часовой стрелке:');
readln(x1,y1,x2,y2,x3,y3);
writeln('Введите координаты точки:');
readln(tx,ty);
if((tx-x1)*(y1-y2)-(ty-y1)*(x1-x2)>=0)
and((tx-x2)*(y2-y3)-(ty-y2)*(x2-x3)>=0)
and((tx-x3)*(y3-y1)-(ty-y3)*(x3-x1)>=0) then
write('Лежит') else write('Не лежит');
readln
end.
ответил 18 Дек, 18 от cevka

Связанных вопросов не найдено

Обучайтесь и развивайтесь всесторонне вместе с нами, делитесь знаниями и накопленным опытом, расширяйте границы знаний и ваших умений.

Популярное на сайте:

Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах. 

Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте. 

Как быстро и эффективно исправить почерк?  Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.

Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.