Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.01.2009, 08:14   #1
siriusz
 
Аватар для siriusz
 
Регистрация: 22.12.2008
Сообщений: 9
По умолчанию Ряд Тейлора

Подскажите как переделать код вот это прги:

Код:
#include <conio.h>
#include <iostream.h>

main()
{
clrscr ();
  int i=0;
  int xn=0, xk=2;
  long double x;
  long double eps;
  double dx;              //step of iteration (dx_minimum=0.2)
  long double summa=0;
  long double s1=0, s2=0;

  cout<<"\nVvedite shag dx: ";
  cin>>dx;
  cout<<"Vvedite tochnost eps: ";
  cin>>eps;

  if (dx>xn&&dx<=xk)
     {
     cout<<"\n -------------------------------------------------------------------";
     cout<<"\n | current value of x | current value of summa | iteration counter |";
     cout<<"\n -------------------------------------------------------------------";

  for(x=dx;x<=xk;x+=dx)
     {
     for(i=1,s1=(x-1),summa=s1; s1>eps||s1<-eps; i++)
	{
	if(i==0)
	  {
	  summa+=s2;
	  s2=s1*(x-1)/(i+1);
	  s1=s2;
	  }
	else
	  {
	  summa-=s2;
	  s2=s1*(x-1)/(i+1);
	  s1=s2;
	  }
	}
	cout<<"\n |                    |                        |                   |\n",x,summa,i;
     }
     cout<<" -------------------------------------------------------------------";
  }
  else cout<<"\n!Shag dx ne sootvetstvuet!";
  getch ();
return 0;
}
для этой функции



я просто плохо разбираюсь в математиматике

Модератор: тег [ CODE ], а не <code>

Последний раз редактировалось MaTBeu; 30.01.2009 в 12:52.
siriusz вне форума
Старый 31.01.2009, 18:52   #2
sim_84
Пользователь
 
Регистрация: 17.01.2009
Сообщений: 18
По умолчанию

Код:
using namespace std;

float f_arctan(float x, float eps)
{
	float s=x;
	float sn=x; // x в степени n
	for(int i=1; fabs(sn/(i+2))>eps; i++)
	{
		sn=(-1)*sn*x*x; // ((-1)^i)*(x^i)
		s+=sn/(i+2);
	}
	return s;
}


int _tmain(int argc, _TCHAR* argv[])
{
  long double x;
  long double eps;

  cout<<"\nVvedite x: ";
  cin>>x;
  cout<<"Vvedite tochnost eps: ";
  cin>>eps;

  cout<<"f(x)="<<f_arctan(x, eps);
  getch ();
  return 0;
}
sim_84 вне форума
Старый 01.02.2009, 15:43   #3
siriusz
 
Аватар для siriusz
 
Регистрация: 22.12.2008
Сообщений: 9
По умолчанию

Не получается разобраться.
Можно полностью готовый код в виде таблицы значения функции.
Таблица с заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
siriusz вне форума
Старый 03.02.2009, 20:31   #4
sim_84
Пользователь
 
Регистрация: 17.01.2009
Сообщений: 18
По умолчанию

Не надо лениться. Тут не так сложно разобраться. Тем более что готовую функция я тебе написал.
sim_84 вне форума
Старый 03.02.2009, 20:34   #5
Тупой
Форумчанин
 
Аватар для Тупой
 
Регистрация: 26.12.2008
Сообщений: 146
По умолчанию

sim_84, мне кажется, проблема в том, что автор пишет в каком-нибудь турбо с++ доисторических годов, в котором не надо всякие
using namespace
и
_tmain(int argc, _TCHAR* argv[])...
"Hello, world!" - 17 errors 56 warnings
Тупой вне форума
Старый 03.02.2009, 20:58   #6
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

о... старый добрый ряд тейлора, первая программа которую мне довелось видеть, причем я на готовый код смотрел квадратными глазами, ибо ничерта не понимал (для меня код на С++ тогда был, как сейчас код на асамблере, т.е. непонятный набор букв).

Программа пишутся легко.. щас напишу...

Код:
#include <iostream.h>
#include <math.h>
#include <conio.h>

int main()
{
clrscr();
int mst = 300;
double pogr = 0.001;
int st=1;
float x, chis=1, add=0, fact=1, y;
cout<<"Vvedite znachenie 'X'"<<endl;
cin>>x;
int zn = -1;
y=x;
for (st =1; st < mst; st = st+ 1)
	{
	cout<<"st   = "<<st<<endl;
	chis=chis*x*x;
	cout<<"chis = "<<chis<<endl;
	fact = fact + 2;
	cout<<"fact = "<<fact<<endl;
	add=zn * chis / fact;
	cout<<"add  = "<<add<<endl;
	y = y + add;
	cout<<"y    = "<<y<<endl;
	cout<<"_________________________________"<<endl;
	cout<<""<<endl;
	zn = -zn;

	if (fabs(add)<pogr)
		{
		cout<<"add < pogr, slozhenie ostanovleno"<<endl;
		cout<<""<<endl;
		break;
		}
       }
cout<<"znachenie = "<<y<<endl;
cout<<"_________________________________"<<endl;
getch();
return 0;
}
P.S.

переделывал другой ряд под твою формулу, правильность подсчета не проверялась. И еще, нету механизма избегания переполнения. (т.е. хначение числа становится больше, чем данный тип данных может иметь)
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 03.02.2009 в 21:02.
ROD вне форума
Старый 06.02.2009, 20:26   #7
siriusz
 
Аватар для siriusz
 
Регистрация: 22.12.2008
Сообщений: 9
По умолчанию

большое спасибо. сдал на 5 ))))
siriusz вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ряд Тейлора в паскале Ku6ep Помощь студентам 2 10.04.2010 20:16
Задача на сходящийся ряд PavelSS Паскаль, Turbo Pascal, PascalABC.NET 8 24.12.2008 11:39
Ряд Тейлора, sin, cos... Kostia Общие вопросы Delphi 6 05.10.2008 10:13
Ряд Тейлора . Паскаль Zond235 Паскаль, Turbo Pascal, PascalABC.NET 5 30.01.2008 01:42
[QBasic] Вычислить ряд!! toad88 Помощь студентам 1 20.11.2007 00:07