Advertisement
Ewerlost

Lab3_C++

Sep 23rd, 2023 (edited)
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. #include <iostream>
  2. #include <clocale>
  3. using namespace std;
  4. int main() {
  5.     setlocale(LC_ALL, "Russian");
  6.     double X, Y = 1, Y0;
  7.     int It = 0;
  8.     float EPS;
  9.     bool isNotCorrect = false;
  10.     cout << "Эта программа вычислит значение кубического корня с точностью EPS с использованием итерационной формулы Ньютона" << "\n" << "Введите X и EPS" << "\n";
  11.  
  12.     do
  13.     {
  14.         cin >> X >> EPS;
  15.         if (cin.fail()) {
  16.             isNotCorrect = true;
  17.             cout << "Данные введены неверно, повторите ввод" << '\n';
  18.             cin.clear();
  19.             while (cin.get() != '\n');
  20.         }
  21.         else {
  22.             isNotCorrect = false;
  23.         }
  24.         if (EPS < 0 || EPS > 1) {
  25.             cout << "Введите допустимую погрешность(от 0 до 1)" << '\n';
  26.             isNotCorrect = true;
  27.         }
  28.         if (X > 10000000 || X < -10000000) {
  29.             cout << "Введите допустимое значение X(от -10000000 до 10000000)" << '\n';
  30.             isNotCorrect = true;
  31.         }
  32.  
  33.     } while (isNotCorrect);
  34.  
  35.     do
  36.     {
  37.         Y0 = Y;
  38.         Y = (2 * Y0 + X / Y0 / Y0) / 3;
  39.         It++;
  40.     } while (abs(Y - Y0) > EPS);
  41.  
  42.     cout << "Значение кубического корня : " << Y << '\n';
  43.     cout << "Количество итераций :  " << It;
  44.  
  45.  
  46. }
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement