Нужна помощь! C++
Разработать структуры, реализовать необходимый набор операций с объектами
структурного типа. Обеспечить чтение данных из файла. Написать тестирующую
функцию main
Само задание:
Определить структуру для представления треугольника координатами вершин на
плоскости. Обеспечить выполнение операций вычисления площади, периметра
треугольника, вычисления высот, а также определения вида треугольника
Answers & Comments
using namespace std;
struct Treugolnik
{
int x1, y1;
int x2, y2;
int x3, y3;
};
int main()
{
Treugolnik a1;
cin >> a1.x1;
cin >> a1.x2;
cin >> a1.x3;
cin >> a1.y1;
cin >> a1.y2;
cin >> a1.y3;
float S, P, h,p;
P = sqrt(pow(a1.x2 - a1.x1, 2) + pow(a1.y2 - a1.y1, 2))+sqrt(pow(a1.x3 - a1.x2, 2) + pow(a1.y3 - a1.y2, 2))+ sqrt(pow(a1.x3 - a1.x1, 2) + pow(a1.y3 - a1.y1, 2));
p = 0.5*(sqrt(pow(a1.x2 - a1.x1, 2) + pow(a1.y2 - a1.y1, 2)) + sqrt(pow(a1.x3 - a1.x2, 2) + pow(a1.y3 - a1.y2, 2)) + sqrt(pow(a1.x3 - a1.x1, 2) + pow(a1.y3 - a1.y1, 2)));
S = sqrt(p*(p - sqrt(pow(a1.x2 - a1.x1, 2) + pow(a1.y2 - a1.y1, 2))))*(p - sqrt(pow(a1.x3 - a1.x2, 2) + pow(a1.y3 - a1.y2, 2)))*(p - sqrt(pow(a1.x3 - a1.x1, 2) + pow(a1.y3 - a1.y1, 2)));
h = 2 * S / sqrt(pow(a1.x2 - a1.x1, 2) + pow(a1.y2 - a1.y1, 2)); //// только к одной стороне
if (sqrt(pow(a1.x2 - a1.x1, 2) + pow(a1.y2 - a1.y1, 2)) == sqrt(pow(a1.x3 - a1.x2, 2) + pow(a1.y3 - a1.y2, 2)) == sqrt(pow(a1.x3 - a1.x1, 2) + pow(a1.y3 - a1.y1, 2)))
cout << "ранвостронний";
if (pow(sqrt(pow(a1.x2 - a1.x1, 2) + pow(a1.y2 - a1.y1, 2)), 2)+pow(sqrt(pow(a1.x3 - a1.x2, 2) + pow(a1.y3 - a1.y2, 2)),2)==pow(sqrt(pow(a1.x3 - a1.x1, 2) + pow(a1.y3 - a1.y1, 2)),2));
cout << "прямоугольный";
cout << S;
cout << h;
cout << P;
return 0;
}