evcamels

lab_4-var_9

Dec 16th, 2021
1,274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.33 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <string>
  4. using namespace std;
  5. class triangle{
  6.     float a,b,m;
  7.     static int count;
  8. public:
  9.     void set(float a, float b){
  10.         this->a = a;
  11.         this->b = b;
  12.         count++;
  13.     }
  14.     void _info(){
  15.         float p = (a+b+b)/2;
  16.         cout << "Сторона а: " << b << endl;
  17.         cout << "Сторона b: " << a << endl;
  18.         cout << "Сторона c: " << a << endl;
  19.         cout << "Периметр: " << a+a+b << endl;
  20.         cout << "Площадь: " << sqrt(p*(p-a)*(p-a)*(p-b)) << endl;
  21.         count++;
  22.     }
  23.     const float uv_A(float uvel){//константный
  24.         count++;
  25.         return uvel*a;
  26.     }
  27.     const float uv_B(float uvel){//константный
  28.         count++;
  29.         return uvel*a;
  30.     }
  31.     const float uv_C(float uvel){//константный
  32.         count++;
  33.         return uvel*b;
  34.     }
  35.     void _uvel(float uvel){
  36.         cout << "Увеличили стороны в " << uvel << " раз: " << endl;
  37.         cout << "Сторона А: " << uv_A(uvel) << " (константный)" << endl;
  38.         cout << "Сторона B: " << uv_B(uvel) << " (константный)"<< endl;
  39.         cout << "Сторона C: " << uv_C(uvel) << " (константный)"<< endl;
  40.         count++;
  41.     }
  42.     const float angle_A(){//константный
  43.         count++;
  44.         return acos((b*b+b*b-a*a)/(2*b*b)) * 180 / 3.14;
  45.     }
  46.     const float angle_B(){//константный
  47.         count++;
  48.         return (180-angle_A())/2;
  49.     }
  50.     void _angle(){
  51.         cout << "Угол А: " << angle_A() << " (константный)"<< endl;
  52.         cout << "Угол B: " << angle_B() << " (константный)"<< endl;
  53.         cout << "Угол С: " << angle_B() << " (константный)"<< endl;
  54.         count++;
  55.     }
  56.     const float sr(){//константный
  57.         count++;
  58.         return sqrt(a*a-(1/4)*b*b);
  59.     }
  60.     static int GetNumber(){
  61.         return count;
  62.     }
  63.     ~triangle(){
  64.         count--;
  65.     }
  66. };
  67. int triangle::count=0;
  68. int main(){
  69.     triangle tr;
  70.     float a,b;
  71.     cout << "Введите основание и сторону треугольника: ";
  72.     cin >> b >> a;
  73.     tr.set(b,a);
  74.     tr._info();
  75.     cout << "Введите в какое кол-во раз увеличить стороны: ";
  76.     float u;
  77.     cin >> u;
  78.     tr._uvel(u);
  79.     tr._angle();
  80.     cout << "Средняя линия, проведенная к основанию: ";
  81.     tr.sr();
  82.     cout << endl;
  83.     cout << "Счетчик: " << tr.GetNumber();
  84.     tr.~triangle();
  85.     return 0;
  86. }
  87.  
Advertisement
Add Comment
Please, Sign In to add comment