Advertisement
deced

Untitled

Sep 6th, 2020
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.00 KB | None | 0 0
  1. //lab1_1
  2. #include <iostream>
  3. #include <string>
  4. using namespace std;
  5. int main()
  6. {
  7.     setlocale(LC_ALL, "Russian");
  8.     double a = 0;
  9.     double b = 0;
  10.     string inputLine;
  11.     bool isInCorrect = true;
  12.     double avgGeometrical = 0;
  13.     double avgHarmonical = 0;
  14.     do
  15.     {
  16.         try
  17.         {
  18.             cout << "Введите значение a\n";
  19.             getline(cin, inputLine);
  20.             a = stod(inputLine);
  21.             if (a > 0)
  22.             {
  23.                 isInCorrect = false;
  24.             }
  25.             else
  26.             {
  27.                 cerr << "Переменная a должна быть больше 0\n";
  28.             }
  29.         }
  30.         catch (invalid_argument ex)
  31.         {
  32.             cerr << "Переменная a должна быть числом\n";
  33.         }
  34.         catch (out_of_range ex)
  35.         {
  36.             cerr << "Вы ввели слишком большое число\n";
  37.         }
  38.     } while (isInCorrect);
  39.     isInCorrect = true;
  40.     do
  41.     {
  42.         try
  43.         {
  44.             cout << "Введите значение b\n";
  45.             getline(cin, inputLine);
  46.             b = stod(inputLine);
  47.             if (b > 0)
  48.             {
  49.                 isInCorrect = false;
  50.             }
  51.             else
  52.             {
  53.                 cerr << "Переменная b должна быть больше 0\n";
  54.             }
  55.         }
  56.         catch (invalid_argument ex)
  57.         {
  58.             cerr << "Переменная b должна быть числом\n";
  59.         }
  60.         catch (out_of_range ex)
  61.         {
  62.             cerr << "Вы ввели слишком большое число\n";
  63.         }
  64.     } while (isInCorrect);
  65.     avgGeometrical = sqrt(a * b);
  66.     avgHarmonical = 2.0 / ((a + b) / a * b);
  67.     cout << "\nСреднее геометрическое введённых чисел = " + to_string(avgGeometrical);
  68.     cout << "\nСреднее гармоническое введённых чисел = " + to_string(avgHarmonical);
  69.     if (avgGeometrical > avgHarmonical)
  70.     {
  71.         cout << "\nСреднее геометрическое введённых чисел больше их среднего гармонического";
  72.     }
  73.     else
  74.     {
  75.         cout << "\nСреднее геометрическое введённых чисел меньше их среднего гармонического";
  76.     }
  77.     return 0;
  78. }
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement