
Добавил:
TaskeFox
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <iostream>
#include "math.h"
using namespace std;
#define PI 3.14159265
class Triangle //оголошення класу Triangle
{
private:
double a, b, c;
public:
Triangle(double a, double b, double c)//Конструктор класу
{
this->a = a;
this->b = b;
this->c = c;
}
double Perimetr() //Периметр трикутника
{
return a + b + c;
}
double Square()//Площа трикутника
{
double p = Perimetr() / 2;
double S = sqrt(p*(p - a)*(p - b)*(p - c));
if (S <= 0) {
cout << "Такого трикутника не існує";
return 0;
}
return S;
}
void Kind()//Визначає вид прямокутника
{
if (a*a + b * b == c * c || a * a + c * c == b * b || c * c + b * b == a * a) {
cout << "Трикутник Прямокутний" << endl;
}
if (a == b || a == c || b == c) {
cout << "Трикутник Рівнобедрений" << endl;
}
if (a == b == c) {
cout << "Трикутник Рівносторонній" << endl;
}
}
void Height()//Обчислення висот
{
cout << "Ha=" << 2 * Square() / a << endl;
cout << "Hb=" << 2 * Square() / b << endl;
cout << "Hc=" << 2 * Square() / c << endl;
}
void Angle()//Шукаємо кути трикутника
{
cout << "A=" << acos((b*b + c * c - a * a) / (2 * b*c)) * 180.0 / PI << endl;
cout << "B=" << acos((a*a + c * c - b * b) / (2 * a*c))* 180.0 / PI << endl;
cout << "C=" << acos((b*b + a * a - c * c) / (2 * b*a))* 180.0 / PI << endl;
}
void Show()//Вивід сторін трикутника
{
cout << "a=" << a << "\tb=" << b << "\tc=" << c << endl;
}
};
int main()
{
setlocale(LC_ALL, "Russian");
Triangle ABC(3, 4, 5); //створення обєкту класу Triangle
ABC.Show();
cout << "P=" << ABC.Perimetr() << endl;
cout << "S=" << ABC.Square() << endl;
ABC.Kind();
ABC.Height();
ABC.Angle();
system("pause");
return 0;
}