Advertisement
MaPV

2VP_1_2_NEWTON

May 24th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.13 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. int factorial(int k)
  8. {
  9.     if (k == 0) return 1;
  10.     return k * factorial(k - 1);
  11. }
  12. double F(double x)
  13. {
  14.     return log(x);
  15. }
  16. int main()
  17. {
  18.     setlocale(LC_ALL, "Russian");
  19.  
  20.     int n;
  21.     cout << "Введите кол-во узлов";
  22.     cin >> n;
  23.     //double x0;
  24.     double *Xi = new double[n];
  25.     double *Yi = new double[n];
  26.     //double *K = new double[n];
  27.     double X;
  28.     double K;
  29.     double H = 1, h, f;
  30.  
  31.     for (int i = 0; i < n; i++)
  32.     {
  33.         cout << "введите x" << "[" << i << "]" << ' ';
  34.         cin >> Xi[i];
  35.     }
  36.     for (int i = 0; i < n; i++)
  37.     {
  38.         cout << "введите y" << "[" << i << "]" << ' ';
  39.         cin >> Yi[i];
  40.     }
  41.     cout << "В какой точке посчитать";
  42.     cin >> X;
  43.     K = 0;
  44.  
  45.     for (int i = 0; i < n; i++)
  46.     {
  47.         f = 0;
  48.         //H *= X-Xi[i-1];
  49.  
  50.         for (int j = 0; j <= i; j++)
  51.         {
  52.             h = 1;
  53.             for (int k = 0; k <= i; k++)
  54.             {
  55.                 if (k != j)
  56.                     h *= (Xi[j] - Xi[k]);
  57.             }
  58.  
  59.             f += Yi[j] / h;
  60.             //K+= H*f;
  61.         }
  62.         for (int k = 0; k < i; k++)
  63.             f *= (X - Xi[k]);
  64.         K += f;
  65.     }
  66.  
  67.  
  68.     cout << "Y[X]= " << K;
  69.     system("pause");
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement