Gistrec

ОП РГЗ 1

Sep 23rd, 2016
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. /*
  4.  * Программа определяет принадлежит ли начало плоскости
  5.  * треугольнику, с вершинами (x1,y1), (x2,y2), (x3,y3)
  6.  * Выводим "Принадлежит" или "Не принадлежит"
  7. */
  8.  
  9. int main() {
  10.     float x1,y1, x2,y2, x3,y3;
  11.     printf("\nВведите шесть чисел через пробел.");
  12.     printf("\nОни будут преобразованы в три точки (x,y)");
  13.     scanf("%f %f %f %f %f %f",&x1, &y1, &x2, &y2, &x3, &y3);
  14.  
  15.     if ((x3 - x1 )/ (x2 - x1) == (y3 - y1) / (y2 - y1)){
  16.         printf("\nВведенные точки лежат на одной прямой!");
  17.     }else {
  18.         float a,b,c; //Числа, отвечающие за положение точки относительно каждого вектора
  19.         a = (0 - x1)*(y2 - y1) - (0 - y1)*(x2 - x1);
  20.         b = (0 - x2)*(y3 - y2) - (0 - y2)*(x3 - x2);
  21.         c = (0 - x3)*(y1 - y3) - (0 - y3)*(x1 - x3);
  22.         if ((a>=0 && b>=0 && c>=0) || (a<=0 && b<=0 && c<=0)) printf("\nПринадлежит!");
  23.         else printf("\nНе принадлежит!");
  24.     }
  25. }
Advertisement
Add Comment
Please, Sign In to add comment