Advertisement
Dambosin

lin apr

May 3rd, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.67 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <iomanip>
  4. #include <math.h>
  5. using namespace std;
  6.  
  7. double func(double x) {
  8.     return log(x) - 5 * pow(sin(x), 2);//твоя функция
  9. }
  10.  
  11. int main()
  12. {
  13.     setlocale(LC_ALL, "Russian");
  14.     double a, b;
  15.     int m, n;
  16.     cout << "Введите a, b, m : ";//границы и кол-во точек
  17.     cin >> a >> b >> m;
  18.     double **apk = new double*[m];
  19.     for (int i = 0; i < m; i++) {
  20.         apk[i] = new double[2];
  21.     }
  22.     for (int i = 0; i < m; i++) {
  23.         apk[i][0] = a + (b - a) / (m - 1)*i;//знач  х
  24.         apk[i][1] = func(apk[i][0]);// знач у
  25.     }
  26.     cout << setw(15) << "X" << setw(15) << "y(X)"  << endl;
  27.     for (int i = 0; i < m; i++) {
  28.         cout << setw(15) << apk[i][0] << setw(15) << apk[i][1] << endl;
  29.     }
  30.     for (int i = 0; i < 35; i++)cout << "ХУЙ";//не забудь поменять ))
  31.     cout << endl;
  32.     cout << setw(15) << "X" << setw(15) << "y(X)" << setw(15) << "P(X)" << setw(15) << "delta" << endl;
  33.     for (double x = a; x <= b; x += (b - a) / 20.) {//проходим от границы к границе с шагом, чтобы было 20 шагов
  34.         double p;
  35.         for (int i = 0; i < m - 1; i++) {
  36.             if (x >= apk[i][0] && x < apk[i + 1][0]) {//находим между какими х находится х на эом шаге
  37.                 p = func(apk[i][0]) + ((func(apk[i + 1][0]) - func(apk[i][0])) / (apk[i + 1][0] - apk[i][0]))*(x - apk[i][0]);// формула прямой по двум точкам, и находим точку на этой прямой для нашего х
  38.             }
  39.         }
  40.  
  41.         cout << setw(15) << x << setw(15) << func(x) << setw(15) << p << setw(15) << fabs(func(x) - p) << endl;//выводим
  42.     }
  43.     return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement