Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <math.h>
- #include <stdlib.h>
- #include <windows.h>
- #include <iomanip>
- using namespace std;
- int main()
- {
- SetConsoleOutputCP(1251);
- double sum, e, *x;
- cout << "Введите точность от 0<e<0.1 ";
- cin >> e;
- if (e<1e-13 || e>0.11)
- {
- cout << "Некорректная точность e (0..0.1] \nPress any key";
- getch(); // ожидание нажатия клавиши
- return 1; // выход из функции main
- }
- fflush(stdin); //очищаем буфер (лишние символы после ввода)
- int n;
- cout << "Введите n=? "; // приглашение
- cin >> n; // ввод десятичного(%d) n
- if (n<1 || n>20)
- {
- cout << "Invalid n [1..20]! \nPress any key";
- getch(); // ожидание нажатия клавиши
- return 2; // выход из функции main
- }
- fflush(stdin);
- x = new double [n]; // выделяем память для n элементов массива
- int i;
- cout << "Введите" << n << "значений X из интервала (-1,+1):\n"; // приглашение
- const double xx[7]={0.99, 0.7, 0.5, 0.1, -0.5, -0.7, -0.99}; //массив запасных значений
- for (i = 0; i < n; i++) // ввод x[0]...x[n-1]
- {
- cin >> x[i]; //считывание x
- if (fabs(x[i])>=1)
- {
- x[i]=xx[rand() % 7]; // одно из семи значений массива xx
- cout << "Некорректное значение заменено на" << x[i];
- }
- }
- cout << "N| X | Sum(X) |K| F(X) | |Sum(X)-F(X)|\n";
- double f;
- int k = 1;
- for (i = 0; i < n; i++)
- {
- double sum=pow(x[i],2.0);
- double sl=sum;
- while ((fabs(sl)>=e) && (k<=500))
- {
- sl = sl*-(2*i-3)*x[i]/(2*i+2);
- sum+=sl;
- k++;
- }
- f = (8.0/3.0)*((sqrt(pow(1.0+x[i],3.0))-1)-4.0*x[i]);
- cout<<i<<setprecision(5)<<"| "<<x[i]<<" | "<<sum<<" |"<<k<<"| "<<f<<" | "<<fabs(sum-f)<<" |\n";
- k=0;
- }
- delete [] x; // освобождение памяти для одномерного дин.массива
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement