Помогите срочно,пожалуйста!!Задачу надо решить на языке С++. Определить, могут ли 3 точки с координатами (х1, у1) , (х2, у2) , (х3,у3) являться вершинами треугольника?
Answers & Comments
srzontmp
#include <cstdlib> #include <iostream> #include <cmath> using namespace std;
int main() { float a,b,c,p,s; struct { float ax,ay,bx,by,cx,cy; } ABC; cout<<" задайте координаты точек"<<endl; cout<<" ax "<<" ay "<<" bx "<<" by "<<" cx "<<" cy"; cout<<endl; cin>>ABC.ax>>ABC.ay>>ABC.bx>>ABC.by>>ABC.cx>>ABC.cy; // вычисление длин сторон a=sqrt(pow((ABC.bx-ABC.ax),2)+pow((ABC.by-ABC.ay),2)); b=sqrt(pow((ABC.cx-ABC.bx),2)+pow((ABC.cy-ABC.by),2)); c=sqrt(pow((ABC.cx-ABC.ax),2)+pow((ABC.cy-ABC.ay),2)); p=(a+b+c)/2; // проверка, что можно составить треугольник if (((p-a)>0) && ((p-b)>0) && ((p-c)>0)) cout<<"точки образуют треугольник"<<endl; else cout<<"точки лежат на одной прямой"<<endl;
Answers & Comments
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float a,b,c,p,s;
struct {
float ax,ay,bx,by,cx,cy;
} ABC;
cout<<" задайте координаты точек"<<endl;
cout<<" ax "<<" ay "<<" bx "<<" by "<<" cx "<<" cy";
cout<<endl;
cin>>ABC.ax>>ABC.ay>>ABC.bx>>ABC.by>>ABC.cx>>ABC.cy;
// вычисление длин сторон
a=sqrt(pow((ABC.bx-ABC.ax),2)+pow((ABC.by-ABC.ay),2));
b=sqrt(pow((ABC.cx-ABC.bx),2)+pow((ABC.cy-ABC.by),2));
c=sqrt(pow((ABC.cx-ABC.ax),2)+pow((ABC.cy-ABC.ay),2));
p=(a+b+c)/2;
// проверка, что можно составить треугольник
if (((p-a)>0) && ((p-b)>0) && ((p-c)>0))
cout<<"точки образуют треугольник"<<endl;
else cout<<"точки лежат на одной прямой"<<endl;
system("pause");
return(0);
}