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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2011, 12:49   #1
shedi
 
Регистрация: 28.02.2011
Сообщений: 5
По умолчанию рекурсия

Нужна помощь . Вот поставленная задача :

Численно убедиться в справедливости равенства, для чего для
заданного значения х вычислить его левую часть и разложение,
стоящее в правой части. При каком n исследуемое выражение
отличается от sin x менее, чем на заданную погрешность ε?
Испытать разложение на сходимость при разных значениях х.

- Для решения задачи разработать две функции: рекурсивную и
итерационную. Определить, какой из подходов эффективнее.


Интернационную составил а вот с рекурсивной неполучается, просьба помочь или натолкнуть на мысль ...

Вот моя интернационная :

Код:

Код:
double e,x,b,p,p1;
int i,z,d;

double lev(double x);
int prav(double e);
double vod();
void menu(void);




int main()
{ 
 do {
   system("cls");
   menu();

 vod();
 b = lev(x);
 printf("\n\n (sinx) = %lf \n", b);

 prav(e);
 printf("\n pri n = %d  \n", z);

 printf("\n\n\nprodoljim? (y/n) :\n\n\n" );  
 }while (_getch() == 'y');
 
}

 
double lev(double x)
 {
 double y;
 y = sin(x); 
 return y ;
 }


void menu(void)
{
	printf("\n1 sin(x)\n");
	printf("\n2 internachionaya \n\n");
}


double vod()
{
 printf("vveite pogreIIInost \n");
 scanf_s("\n%lf", &e);
 printf("\nvveite x\n");
 scanf_s("\n%lf", &x);
 return e ,x ;
}


int prav(double e)
{
 double a,q,w,y1,sum;
 i=0;
 z=0;
 sum = 0;
 a = 1;
 p = b + e ;
 p1= b - e;
 top:
	 z=z+1;
	 i=i+1;
 q=pow((double(-1)),i-1);
 w=pow(x,2*i-1);
	if( i == 1 ) 
  	a =	2*i-1;
	else
	a = (2*i-1)*((2*i-1)-1)*a;
	y1 = (q * w)/a;
	sum = sum + y1;
	printf("\n%lf\n", sum);
	if ( ((p < sum) && (sum < p1)) || ((p > sum) && (sum > p1)));
	else 
	goto top;
	return z;
}

Последний раз редактировалось ACE Valery; 02.03.2011 в 09:50.
shedi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рекурсия Lena neznayka Помощь студентам 2 16.06.2010 20:46
Рекурсия Solnze2 Паскаль, Turbo Pascal, PascalABC.NET 0 09.06.2010 09:28
Рекурсия Shadows_Behind Помощь студентам 6 26.05.2010 15:07
рекурсия misha25525 Помощь студентам 4 25.03.2010 18:57
Рекурсия Golovastik Общие вопросы C/C++ 7 15.09.2009 20:36