Advertisement
Lavig

Другий семестр. Лабораторна робота №1-2 (Завдання 1)

Jan 30th, 2025
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #define _USE_MATH_DEFINES
  4. #include <math.h>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     SetConsoleOutputCP(1251);
  11.     double a{}, b{}, c{}, angle_a{}, angle_b{}, angle_c{};
  12.     double *pa{ &a }, *pb{ &b }, *pc{ &c }, *pangle_a{ &angle_a }, *pangle_b{ &angle_b }, *pangle_c{ &angle_c };
  13.     while (true) {
  14.         cout << "Введіть першу сторону трикутника: ";
  15.         cin >> *pa;
  16.         if (cin.fail() || *pa <= 0) {
  17.             cin.clear();
  18.             cin.ignore(32767, '\n');
  19.             cout << "Введена сторона не може існувати. Спробуйте ввести іншу!" << endl;
  20.             continue;
  21.         }
  22.         else {
  23.             break;
  24.         }
  25.     }
  26.     while (true) {
  27.         cout << "Введіть другу сторону трикутника: ";
  28.         cin >> *pb;
  29.         if (cin.fail() || *pb <= 0) {
  30.             cin.clear();
  31.             cin.ignore(32767, '\n');
  32.             cout << "Введена сторона не може існувати. Спробуйте ввести іншу!" << endl;
  33.             continue;
  34.         }
  35.         else {
  36.             break;
  37.         }
  38.     }
  39.     while (true) {
  40.         cout << "Введіть третю сторону трикутника: ";
  41.         cin >> *pc;
  42.         if (cin.fail() || *pc <= 0) {
  43.             cin.clear();
  44.             cin.ignore(32767, '\n');
  45.             cout << "Введена сторона не може існувати. Спробуйте ввести іншу!" << endl;
  46.             continue;
  47.         }
  48.         else {
  49.             break;
  50.         }
  51.     }
  52.     if (*pa + *pb <= *pc || *pa + *pc <= *pb || *pb + *pc <= *pa) {
  53.         cout << "Заданий трикутник не існує!" << endl;
  54.         return 0;
  55.     }
  56.     *pangle_a = acos((*pb * *pb + *pc * *pc - *pa * *pa) / (2 * *pb * *pc)) * 180 / M_PI;
  57.     *pangle_b = acos((*pa * *pa + *pc * *pc - *pb * *pb) / (2 * *pa * *pc)) * 180 / M_PI;
  58.     *pangle_c = acos((*pa * *pa + *pb * *pb - *pc * *pc) / (2 * *pa * *pb)) * 180 / M_PI;
  59.     cout << "Кут при стороні a - " << *pangle_a << " градусів" << endl;
  60.     cout << "Кут при стороні b - " << *pangle_b << " градусів" << endl;
  61.     cout << "Кут при стороні c - " << *pangle_c << " градусів" << endl;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement