#include <iostream>
#include <math.h>
using namespace std;
int main()
{
setlocale(LC_ALL,"rus_rus.1251");
double x1,y1,x2,y2,x3,y3,a,b,c,b1,b2,b3;
cout << "Введите координату первой точки x1, y1 "<<endl;
cin >> x1 >> y1;
cout << "Введите координату второй точки x2, y2 "<<endl;
cin >> x2 >> y2;
cout << "Введите координату третьей точки x3, y3 "<<endl;
cin >> x3 >> y3;
//находим стороны треугольника
a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
b=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
//проверка того, что из чисел a,b,c можно составить треугольник
if ((a==b+c)||(b==a+c)||(c==a+b))
cout<<"Это не треугольник"<<endl;
else
{
cout<<"Это треугольник"<<endl;
//определяем b1,b2,b3
b1=(y1*x2-x1*y2)/(x2-x1);
b2=(y2*x3-x2*y3)/(x3-x2);
b3=(y1*x3-x1*y3)/(x3-x1);
//определяем положение начала координат
if (((b1>=0)&&(b2>=0)&&(b3<=0))||
((b3>=0)&&(b2>=0)&&(b1<=0))||
((b1>=0)&&(b3>=0)&&(b2<=0)))
cout <<"Начало координат лежит внутри треугольника"<<endl;
else
cout <<"Начало координат не лежит внутри треугольника"<<endl;
}
system("pause");
return 0;
}
|