#include using namespace std; /* a, b, c - сторони трикутрика Triangle (float x, float y, float z) - констуктор ініціалізації списком Triangle(const Triangle &src) - конструктор копіювання friend Triangle operator - (const Triangle &a, const Triangle &b) - оператор - як дружня функція bool operator > (Triangle &a) - оператор > void set(char q) - SET void show(char q) - SHOW float calcP() { return a + b + c; } - обчислення периметра void showCond(char q, float p) - друкування інформації з умовою що P() > p */ class Triangle { float a, b, c; public: Triangle() { a = b = c = 0; cout << "Used empty constructor" << endl;} Triangle (float x, float y, float z) : a(x), b(y), c(z) { cout << "Used list constructor" << endl; } Triangle(const Triangle &src) { a = src.a; b = src.b; c = src.c; cout << "Used copy constructor" << endl; } friend Triangle operator - (const Triangle &a, const Triangle &b); bool operator > (Triangle &a) { return (calcP() > a.calcP()); } void set(char q); void show(char q); float calcP() { return a + b + c; } void showCond(char q, float p) { if (calcP() > p) show(q); else cout << "Triangle " << q << " perimeter < p" << endl << endl; } }; int main() { Triangle C1; C1.set('1'); Triangle C2(3, 4, 5); C2.show('2'); Triangle C3 = C2; C3.show('3'); Triangle C4; C4 = C1 - C2; C4.show('4'); cout << "C4 > C1: " << (C4 > C1) << endl << endl; cout << "P of tiangle C1 = " << C1.calcP() << endl; cout << "P of tiangle C2 = " << C2.calcP() << endl; cout << "P of tiangle C3 = " << C3.calcP() << endl; cout << "P of tiangle C4 = " << C4.calcP() << endl; int n; cout << endl << "Enter count of objects: "; cin >> n; Triangle objs[n]; for (int i = 0; i < n; i++) { objs[i].set(i + '0'); } float p; cout << endl << "Enter p: "; cin >> p; cout << endl << "Result: " << endl; for (int i = 0; i < n; i++) { cout << "P of triangle " << i + 1 << " = " << objs[i].calcP() << endl; objs[i].showCond(i + '0', p); } return 0; } void Triangle :: set(char q) { cout << "Enter info about triangle " << q << ":" << endl; cout << "\ta: "; cin >> a; cout << "\tb: "; cin >> b; cout << "\tc: "; cin >> c; cout << endl; } void Triangle :: show(char q) { cout << "Info about triangle " << q << ":" << endl; cout << "\ta: " << a << endl; cout << "\tb: " << b << endl; cout << "\tc: " << c << endl; cout << endl; } Triangle operator - (const Triangle &a, const Triangle &b) { Triangle c(a.a - b.a, a.b - b.b, a.c - b.c); return c; }