deced

Untitled

Sep 25th, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. #include <string>
  2. #include <iostream>;
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     setlocale(LC_ALL, "Russian");
  9.     double x0 = 0;
  10.     double x1 = 0;
  11.     double e = 1;
  12.     bool isIncorrect;
  13.     string inputLine = "";
  14.     do
  15.     {
  16.         isIncorrect = false;
  17.         cout << "Введите необходимую точность\n";
  18.         getline(cin, inputLine);
  19.         try
  20.         {
  21.             e = stod(inputLine);
  22.         }
  23.         catch (invalid_argument ex)
  24.         {
  25.             cerr << "Точность должна быть числом\n";
  26.             isIncorrect = true;
  27.         }
  28.         catch (out_of_range ex)
  29.         {
  30.             cerr << "Вы ввели слишком большое число\n";
  31.             isIncorrect = true;
  32.         }
  33.         if (e < 0 && !isIncorrect)
  34.         {
  35.             isIncorrect = true;
  36.             cerr << "Точность должна быть больше 0\n";
  37.         }
  38.     } while (isIncorrect);
  39.     do
  40.     {
  41.         isIncorrect = false;
  42.         cout << "Введите первое приближение\n";
  43.         getline(cin, inputLine);
  44.         try
  45.         {
  46.             x1 = stod(inputLine);
  47.         }
  48.         catch (invalid_argument ex)
  49.         {
  50.             cerr << "Первое приближение должно быть числом\n";
  51.             isIncorrect = true;
  52.         }
  53.         catch (out_of_range ex)
  54.         {
  55.             cerr << "Вы ввели слишком большое число\n";
  56.             isIncorrect = true;
  57.         }
  58.     } while (isIncorrect);
  59.     do
  60.     {
  61.         x0 = x1;
  62.         x1 = 9.33*sin(6.977*x0) / 7.25;
  63.     } while (abs(x0 - x1) > e);
  64.     printf("Корень равен %10.4f", x1);
  65. }
  66.  
Add Comment
Please, Sign In to add comment