Надо решить задачу на Си:
Даны координаты 3-х точек. Нужно сказать, являются ли они вершинами тупоугольного,прямоугольного или остроугольного треугольника.
Input
Со стандартного устройства ввода вводится через пробел 6 целых чисел, не
превосходящих по модулю 1000 – координаты точек в формате “X1 Y1 X2 Y2 X3 Y3”.
Output
Нужно выдать на стандартное устройство вывода одно из следующих сообщений:
“Treugol'nik tupougol'nyi”
“Treugol'nik pryamougol'nyi”
“Treugol'nik ostrougol'nyi”
“Treugol'nika ne suschestvuet”
Кавычки выводить не нужно.
Sample Input
0 80 0 0 -60 0
Sample Output
Treugol'nik pryamougol'nyi
Answers & Comments
Ответ:
#include <bits/stdc++.h>
using namespace std;
int leight(int x1, int y1, int x2, int y2)
{
int L=sqrt(pow(x1+x2, 2)+pow(y1+y2, 2));
return L;
}
int main()
{
freopen ( "input.txt", "r", stdin);
freopen ( "output.txt", "w", stdout);
int x1, y1, x2, y2, x3, y3;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
if(leight(x1, y1, x2, y2)>leight(x2, y2, x3, y3)+leight(x1, y1, x3, y3)||leight(x2, y2, x3, y3)>leight(x1, y1, x2, y2)+leight(x1, y1, x3, y3)||leight(x1, y1, x3, y3)>leight(x1, y1, x2, y2)+leight(x2, y2, x3, y3))cout<<"Treugol'nika ne suschestvuet"<<'\n';
else if(pow(leight(x1,y1,x2, y2), 2)>pow(leight(x1,y1,x3, y3), 2)+pow(leight(x3,y3,x2, y2), 2)||pow(leight(x2,y2,x3, y3), 2)>pow(leight(x1,y1,x3, y3), 2)+pow(leight(x1,y1,x2, y2), 2)||pow(leight(x1,y1,x3, y3), 2)>pow(leight(x1,y1,x2, y2), 2)+pow(leight(x3,y3,x2, y2), 2))cout<<"Treugol'nik tupougol'nyi"<<'\n';;
else if(pow(leight(x1,y1,x2, y2), 2)==pow(leight(x1,y1,x3, y3), 2)+pow(leight(x3,y3,x2, y2), 2)||pow(leight(x2,y2,x3, y3), 2)==pow(leight(x1,y1,x3, y3), 2)+pow(leight(x1,y1,x2, y2), 2)||pow(leight(x1,y1,x3, y3), 2)==pow(leight(x1,y1,x2, y2), 2)+pow(leight(x3,y3,x2, y2), 2))cout<<"Treugol'nik pryamougol'nyi"<<'\n';
else cout<<"Treugol'nik ostrougol'nyi";
return 0;
}
Объяснение:
Решение довольно громосткое, поэтому если будут вопросы спрашивай.