bor

3B : Принадлежность прямой

bor
Jan 3rd, 2013
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.63 KB | None | 0 0
  1. program _3B;
  2.  
  3. type
  4.   Point = record
  5.     x, y : Integer;
  6.   end;
  7.  
  8. var
  9.   a, b, p, ab, ap: Point;
  10.   cross : Integer;
  11.  
  12. begin
  13.   ReadLn(p.x, p.y);
  14.   Read(a.x, a.y);
  15.   ReadLn(b.x, b.y);
  16.   (* Считаем вектора AB и AP *)
  17.   ab.x := b.x - a.x;
  18.   ab.y := b.y - a.y;
  19.   ap.x := p.x - a.x;
  20.   ap.y := p.y - a.y;
  21.   (* Векторное произведение векторов AB * AP *)
  22.   cross := ab.x * ap.y - ab.y * ap.x;
  23.   (* Если оно нуль, то точка P лежит на прямой через A и B *)
  24.   if cross = 0 then begin
  25.     WriteLn('YES');
  26.   end else begin
  27.     WriteLn('NO');
  28.   end;
  29. end.
Advertisement
Add Comment
Please, Sign In to add comment