Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- /*
- * Программа определяет принадлежит ли начало плоскости
- * треугольнику, с вершинами (x1,y1), (x2,y2), (x3,y3)
- * Выводим "Принадлежит" или "Не принадлежит"
- */
- int main() {
- float x1,y1, x2,y2, x3,y3;
- printf("\nВведите шесть чисел через пробел.");
- printf("\nОни будут преобразованы в три точки (x,y)");
- scanf("%f %f %f %f %f %f",&x1, &y1, &x2, &y2, &x3, &y3);
- if ((x3 - x1 )/ (x2 - x1) == (y3 - y1) / (y2 - y1)){
- printf("\nВведенные точки лежат на одной прямой!");
- }else {
- float a,b,c; //Числа, отвечающие за положение точки относительно каждого вектора
- a = (0 - x1)*(y2 - y1) - (0 - y1)*(x2 - x1);
- b = (0 - x2)*(y3 - y2) - (0 - y2)*(x3 - x2);
- c = (0 - x3)*(y1 - y3) - (0 - y3)*(x1 - x3);
- if ((a>=0 && b>=0 && c>=0) || (a<=0 && b<=0 && c<=0)) printf("\nПринадлежит!");
- else printf("\nНе принадлежит!");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment