Quote (Alexander)
на строчку выше ввод первой вершины.
блин, ппц, пошёл я часок посплю. Точняк не рассмотрел, башка ппц как гудит. Добавлено (29.11.2008, 21:09)
---------------------------------------------
Alexander, я не стал ничего нового придумывать а решил воспользоваться той темой про которую ты говорил, вот чё получилось:
Code
Program pr2;
Const x1=-1.5; y1=0;
x2=-1; y2=1;
x3=0; y3=0; {это короче координаты двух треугольников}
x4=-3/4; y4=0;
x5=-2; y5=-1;
x6=1; y6=0;
Var x,y,s1,s2,s3,s4,s5,s6:real;
begin
readln(x,y); {координаты точки}
s1:=(y2-y1)*(x-x1)-(x2-x1)*(y-y1);
s2:=(y3-y2)*(x-x2)-(x3-x2)*(y-y2);
s3:=(y1-y3)*(x-x3)-(x1-x3)*(y-y3);
s4:=(y5-y4)*(x-x4)-(x5-x4)*(y-y4);
s5:=(y6-y5)*(x-x5)-(x6-x5)*(y-y5);
s6:=(y4-y6)*(x-x6)-(x4-x6)*(y-y6);
if ((s1>0) and (s2>0) and (s3>0)) or ((s1<0) and (s2<0) and (s3<0))
or ((s4>0) and (s5>0) and (s6>0)) or ((s4<0) and (s5<0) and (s6<0))
then writeln ('Принадлежит')
else writeln ('Не принадлежит');
readln;
end.
Добавлено (29.11.2008, 21:23)
---------------------------------------------
Alexander, но вот ошибку заметил, при вводе точки (-0.5;-0.5) пишет мол не принадлежит, хотя судя по графику должна принадлежать.
Блин и точка (-2;-1) тож не принадлежит,
Добавлено (29.11.2008, 21:38)
---------------------------------------------
Вот другой вариант этой же задачи, тут всё ок, всё работает без ошибок!
Code
program zadanie2;
var x, y : real;
begin
writeln('Введите x и y: ');
readln(x, y);
if ((y <= 2 * x + 3) and (y <= -x) and (y >= 0)) or ((y <= 0) and (y <= 2 * x + 3) and (y >= 1 / 3 * (x - 1)))
then write('принадлежит')
else write('не принадлежит');
readln;
end.