123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- #include <cmath>
- #include <cstdlib>
- #include <iostream>
- #include <algorithm>
- #include <string>
- auto xuo3(double xa, double ya, double xb, double yb, double xc, double yc)
- {
- auto dis = [](double x1, double y1, double x2, double y2) { return std::sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));};
- double AB = dis(xa, ya, xb, yb);
- double BC = dis(xb, yb, xc, yc);
- double CA = dis(xc, yc, xa, ya);
- double sides[3] = {AB, BC, CA};
- std::sort(sides, sides + 3);
-
- double a = sides[0];
- double b = sides[1];
- double c = sides[2];
- if (a * a + b * b == c * c) {
- return "Прямоугольный треугольник";
- } else if (a * a + b * b < c * c) {
- return "Тупоугольный треугольник";
- } else {
- return "Остроугольный треугольник";
- }
- }
- void xuo2( int x1, int x2, int x3)
- {
- int Pethagor = x1^2 + x2^2;
-
- if (Pethagor == (x3^2))
- {
- std::cout << "Прямоугольный треугольник";
- }
- else if (Pethagor < x3^2)
- {
- std::cout << "Тупоугольный треугольник";
- } else {
- std::cout << "Остроугольный треугольник";
- }
- }
- void xuo(double x1, double x2, double x3)
- {
- if (x1 == x2 == x3)
- {
- std::cout << "Равносторонний треугольник";
- }
- else if (x1 == x2 || x1 == x3 || x2 == x3)
- {
- std::cout << "Равнобедренный треугольник";
- }
- else if (x1 != x2 && x1 != x3 && x2 == x3)
- {
- std::cout << "Разносторонний треугольни";
- }
- else {
- std::cout << "никакой";
- }
- }
- bool xuo4(int x1, int x2, int x3)
- {
- if (x1 <= 0 || x2 <= 0 || x3 <= 0)
- {
- return false;
- }
- return (x1 +x2 > x3) || (x1 +x3 > x2) || (x2+x3 > x1);
- }
- bool xuo6(int a, int b, int c, int r, int s) {
- // Проверяем все возможные грани кирпича
- return (
- (a <= r && b <= s) || (a <= s && b <= r) || // Грань a x b
- (a <= r && c <= s) || (a <= s && c <= r) || // Грань a x c
- (b <= r && c <= s) || (b <= s && c <= r) // Грань b x c
- );
- }
- bool xuo7(int r, int p, int q) {
- int diameter = 2 * r;
- return diameter <= std::min(p, q);
- }
- int main()
- {
- int ui;
- double a,b,c;
- std::cout << "Введите стороны треугольника\n";
- std::cin >> a >> b >> c;
- std::cout << "Выберите режим (task1: 1 task2 :2 task3: 3 task4: 4 task6: 5 task7: 6 \n";
- std::cin >> ui;
- switch (ui) {
- case 1:
- xuo(a, b, c);
- break;
- case 2:
- xuo2(a, b, c);
- break;
- case 3:{
- double xa, ya, xb, yb, xc, yc;
- std::cout << "Введите координаты вершин треугольника (A, B, C):\n";
- std::cout << "A(xa, ya): \n";
- std::cin >> xa >> ya;
- std::cout << "B(xb, yb): \n";
- std::cin >> xb >> yb;
- std::cout << "C(xc, yc): \n";
- std::cin >> xc >> yc;
- std::string result = xuo3(xa, ya, xb, yb, xc, yc);
- std::cout << result << "\n";
- break;
- }
- case 4:{
- auto x = xuo4(a,b,c);
- if (x)
- {
- std::cout << "Является Трегольником";
- }
- else {
- std::cout << "Не является";
- }
- break;
- }
- case 5:{
- int a, b, c, r, s;
- std::cout << "Введите размеры кирпича (a, b, c): ";
- std::cin >> a >> b >> c;
- std::cout << "Введите размеры отверстия (r, s): ";
- std::cin >> r >> s;
- if (xuo6(a, b, c, r, s))
- {
- std::cout << "Кирпич пройдет через отверстие." << std::endl;
- } else
- {
- std::cout << "Кирпич не пройдет через отверстие." << std::endl;
- }
- case 6:
- int r1, p, q;
- std::cout << "Введите радиус шара (r): ";
- std::cin >> r1;
- std::cout << "Введите диагонали ромба (p, q): ";
- std::cin >> p >> q;
- if (xuo7(r1, p, q)) {
- std::cout << "Шар пройдет через ромбообразное отверстие." << std::endl;
- } else {
- std::cout << "Шар не пройдет через ромбообразное отверстие." << std::endl;
- }
- }
- }
- }
|