Вычислить и напечатать значение функции y=f(x) в точках x₁,x₂,...,x представляя функцию в виде ряда(без обращения к стандартным подпрограммам). Значения n и x₁, x₂,..., x вводятся.
г) f(x)=3sh(1+x+x²) ,если shx=∑_(i=0)^∞ (x в степени(2i+1) ) / (2i+1)!
Указания:
- ввод числа n; точность вычисления e задается в программе непосредственно;
- во внешнем цикле организуется ввод x , образование аргумента для вычисления суммы, передача его во внутренний цикл, затем прием значения суммы, вычисление и печать значения функции f(x);
- во внутреннем цикле значение суммы ∑_(i=0)^∞ S(x) вычисляется приближенно: суммируются только такие члены, что|S(x)|>e
#include "fstream.h"
#include <fstream>
using namespace std;
#include<math.h>
void main()
{
ifstream myin("text.txt");
ofstream myout("result.txt");
double x,s,a,f,e; // x-точка,s-значение суммы,a-значение суммы при i=0, f-значение функции. е-точность вычисления
int i,j,n; //i,j-счетчики внутреннего и внешнего циклов, n - количество точек x
myin>>n; //чтение значения n из файла text.txt
for(j=0;j<n;j++) //цикл чтения значений x из файла text.txt
{
myin>>x;
e=0.25;
i=1;
s=1+x+x*x;
a=1+x+x*x;
while(fabs(a)>e)
{
a=a*(1+x+x*x)*(1+x+x*x)/((2*i+2)*(2*i+3));
s=s+a;
i++;
}
f=3*s;
myout<<f<<' ';
}
}