Треугольник существует, если сумма длин двух любых его сторон больше длины третьей стороны. Длина стороны может быть определена как расстояние между соответствующими сторонами треугольника:
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016 type Point=record x,y:real end;
procedure GetPoint(c:char;var M:Point); begin Write('Введите координаты точки ',c,': '); Read(M.x,M.y) end;
function Dist(a,b:Point):=sqrt(sqr(b.x-a.x)+sqr(b.y-a.y));
begin var A,B,C:Point; GetPoint('A',A); GetPoint('B',B); GetPoint('C',C); var ab:=Dist(A,B); var bc:=Dist(B,C); var ac:=Dist(A,C); if (ab<bc+ac) and (bc<ab+ac) and (ac<ab+bc) then Writeln('Треугольник существует') else Writeln('Треугольник не существует') end.
Тестовое решение: Введите координаты точки A: -6.9 -5.3 Введите координаты точки B: 0 11.4 Введите координаты точки C: 9 3 Треугольник существует
Как-то так, наверное
Объяснение:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a, x, b, c, D;
cout<<"Введите a: "; cin >> a;
cout<<"Введите b: "; cin >> b;
cout<<"Введите c: "; cin >> c;
D = pow(b,2)-4*a*c;
if(D>0){
cout << "x1 = " << ((-1)*b+sqrt(D))/(2*a)<<endl;
cout << "x2 = " <<((-1)*b-sqrt(D))/(2*a)<<endl;
}
else if(D==0){
cout << "x = " << ((-1)*b)/(2*a)<<endl;
}
else{
D*=(-1);
cout<< "x1 = " << ((-1)*b)/(2*a) <<"+"<< (sqrt(D))/(2*a) << "*i" <<endl;
cout<< "x2 = " << ((-1)*b)/(2*a) <<"-"<< (sqrt(D))/(2*a) << "*i" <<endl;
}
return 0;
}