Показать сообщение отдельно
Старый 07.11.2011, 22:46   #1 (permalink)
dewberry
Новичок
 
Регистрация: 07.11.2011
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите, пожалуйста, найти ошибку в программе

Вычислить и напечатать значение функции 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<<' ';
}
}
dewberry вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070