Форум программистов, компьютерный форум CyberForum.ru

Вычислить функцию sqrt(), разложенную в ряд Тейлора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Прокоментировать 2 строки по сортировке http://www.cyberforum.ru/cpp-beginners/thread52041.html
Разбираю код быстрой сортировки, вот исходник #include <iostream> using namespace std; //создается шаблнная функция template<class T> // функция принимает аргументы: // массив (так как функция шаблонная, то любого типа массив), и кол-во элементов массива. void quickSortR(T* a, long N)
C++ У меня три вопроса Вопросы такие:1)Как на Visual C++ 2008 произвести переименование папки 2)Как сделать Restart но не своего а чужого приложения.3)Как правильно написать адрес,но не на какой то определенный диск(А;В;С.),а на тот, на котором установлена система,прим. - ?":\\Documents and Settings\\User\\Мои документы\\...." http://www.cyberforum.ru/cpp-beginners/thread52040.html
Найти детерминант (определитель) матрицы C++
Привет всем помогите найти в 2D массиве детерминант:pardon:
C++ Определить количество дней в году
Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а высокосный-366. Высокосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400. я так понимаю что её надо решать через оператор if но как записать вот это деление на 4,100 и т.д. я не знаю. Прошу помощи в решении....
C++ Описать функцию, которая включает в упорядоченный по убыванию список новое значение http://www.cyberforum.ru/cpp-beginners/thread51994.html
Помогите плиз с задачкой. Динамические структуры. С++ В составе программы описать функцию, которая включает в упорядоченный по убыванию список новое значение, введенное с клавиатуры, таким образом, чтобы не нарушать упорядоченность. Заранее большое спасибо.
C++ Найти слово в предложении Здравствуйте, помогите решить задачу по С++ Задача : В предложении найти слово имеющее наибольшее количество разных символов. Спасибо за ответы. подробнее

Показать сообщение отдельно
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
23.09.2009, 17:51     Вычислить функцию sqrt(), разложенную в ряд Тейлора
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/* Thread 52042 */
 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
 
 
/********************************************************************/
#define EPSILON 0.00001
#define MAX_N   1000
 
 
/********************************************************************/
double fact( int n );
double f1( double x );
double f2( double x );
 
 
/********************************************************************/
int f2_count= 0;
 
 
/********************************************************************/
int main( int argc, char *argv[] ) {
 
double x, r1, r2;
 
 
argc--; argv++;
if ( argc != 1 ) {
    fprintf( stderr, "Usage: prog x\n" );
    exit( 2 );
}
x= atof( argv[0] );
r1= f1( x );
r2= f2( x );
printf( "%6s=%.10f\n", "x", x );
printf( "%6s=%.10f\n", "f1", r1 );
printf( "%6s=%.10f f2_count=%d\n", "f2", r2, f2_count );
printf( "%6s=%.10f\n", "diff", fabs( r1-r2 ) );
 
return 0;
 
} /* main() */
 
 
/********************************************************************/
double fact( int n ) {
 
int i;
double prod;
 
 
if ( n<=0 ) { return 1.0; }
prod= 1.0;
for ( i= n; i>=2; i-- ) {
    prod*= i;
}
return prod;
 
} /* fact() */
 
 
/********************************************************************/
double f1( double x ) {
 
return sqrt( 1+x );
 
} /* f1() */
 
 
/********************************************************************/
double f2( double x ) {
 
int i;
double sum, xn, t, f2n_fn2;
int n, sign;
 
 
if ( fabs(x)<1.0 ) {
} else {
    fprintf( stderr, "f2(): Invalid x=%f\n", x );
    exit( 1 );
}
 
sum= 1.0;
sign= 1;
xn= 1.0;
n= 1;
 
for ( ; ; ) {
    sign= -sign;
    f2n_fn2= 1.0;
    for ( i= 1; i<=n; i++ ) { f2n_fn2= f2n_fn2*(n+i)/i; }
    xn*= x;
 
    t= (sign*f2n_fn2*xn)/(1-2*n)/pow(4,n);
    sum+= t;
    if ( fabs(t)<EPSILON ) { break; }
 
    n++;
    if ( n>=MAX_N ) {
        fprintf( stderr, "f2(): n>MAX_N, n=%d\n", n );
        exit( 1 );
    }
}
 
f2_count= n;
return sum;
 
} /* f2() */
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru