|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.03.2011, 17:23 | #1 |
Регистрация: 28.02.2011
Сообщений: 5
|
C++ формула
Помогите с программой, есть формула :
sin (x) = pow((-1),n-1) * pow(x,2*n-1)/(2n-1)! (формула тейлора) Надо убедиться в справедливости равенства . При каком n исследуемое выражение отличается от sin x менее, чем на заданную погрешность ε? Ввожу x и ε , программа должна вывести n. Но моя программа зацикливается при значениях X>5 в чем дело? вот мой код . #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <windows.h> #include <math.h> double e,x,b,p,p1,q; int i,z,d,k=1; double lev(double x); int prav(double e); double vod(); long fac(int k); int main() { do { system("cls"); vod(); b = lev(x); printf("\n\n (sinx) = %lf \n", b); prav(x); 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 ; } 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 x) { double q,y1,sum; long double a,w; k=0; sum = 0; a = 1; z=0; p = b + e ; p1= b - e; do{ z=z+1; k=k+1; q=pow((double(-1)),k-1); w=pow(x,2*k-1); a =fac(2*k-1); y1 = (q * w)/a; sum = sum + y1; printf("\n%lf\n", sum); } while (abs(b-sum)>e); k=1; return z; } long fac(int k) { if (k>1) return k*fac(k-1); return 1; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
формула | ogololobov2009 | Microsoft Office Excel | 10 | 01.02.2011 11:20 |
формула | noIQ | Microsoft Office Excel | 9 | 15.12.2010 18:38 |
формула | Screame | Microsoft Office Excel | 1 | 13.08.2009 20:50 |
Формула | Танечка | Microsoft Office Excel | 3 | 26.06.2008 09:11 |
Формула | Holodok | Помощь студентам | 3 | 19.05.2008 08:19 |