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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
MikeEl
1 / 1 / 0
Регистрация: 27.03.2012
Сообщений: 52
#1

Переделать код в рядах Тейлора - C++

11.06.2013, 22:39. Просмотров 1636. Ответов 56
Метки нет (Все метки)

есть код для этого задания:
Провести программную реализацию расчета приблизительного значения функции y, разложив функцию f (x) в ряд Тейлора, при этом необходимо вывести и применить рекуррентное отношение для расчета общей части для каждого слагаемого ряда или его части. Аргумент функции должен изменяться в диапазоне [Xbegin, Xend] с шагом Xdelta. Параметры Xbegin, Xend, Xdelta и точность (допустимая погрешность) расчетов е, определяющая условие завершения рекурсивного расчета задаются пользователем с клавиатуры. Предусмотреть ситуации, когда значение функции могу быть не определено для заданных аргументов.
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
#include <iostream>  
#include <conio.h> 
#include <math.h>
 
using namespace std;
 
double factorial (double p)
{
int n=1;
p=2*n+1;
if (p == 0) 
return 1; 
else 
return p*factorial(p - 1);
}
long double sin_kub(double p, double x, double e, long double y)
{
double fact=factorial(p);
y=((pow(3, p)-3)*pow(x, p)*pow(-1, p-1)/fact);
if (y>e)
return y=(y+sin_kub(p+1, x, e, y))*0.25;
else return y*0.25;
}
void main()
{
setlocale (0,"Russian");
double xbegin, xdelta, xend, e, x;
cout<<"Введите xbegin (начальное значение): ";
cin>>xbegin;
cout<<"Введите xend(конечное значение х): ";
cin>>xend;
while (xend<xbegin)
{
cout<<"Не корректно задано."<<endl;
cout<<"Введите xbegin (начальное значение): ";
cin>>xbegin;
cout<<"Введите xend(конечное значение х): ";
cin>>xend;
}
cout<<"Введите xdelta(шаг): ";
cin>>xdelta;
cout<<"Введите e(точность): ";
cin>>e;
while (e<0.01)
{
cout<<"Ваше \"е\" слишком маленькое. Введите другое: ";
cin>>e;
}
for (double x=xbegin; x<=xend; x+=xdelta)
{
long double f=sin_kub(3, x, e,0);
cout<<"x="<<x<<"      "<<"f(x)="<<f<<endl;
}
 
getch ();
}
но мне оченьочень нужно , чтобы считало эту формулу(второй снимок).
на днях сдавать, а сделать еще кучу работы нужно, помогите, пожалуйста.
0
Миниатюры
Переделать код в рядах Тейлора   Переделать код в рядах Тейлора  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2013, 22:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переделать код в рядах Тейлора (C++):

Ошибка в рядах Тейлора - C++
Помогите найти ошибку в этом задании: адача состоит в проведении программной реализации расчета приблизительного значения функции y,...

Переделать ряд Тейлора - C++
Вычислить и вывести на экран в виде таблицы значение функции, заданной с помощью ряда Тейлора на интервале от Хнач до Хкон с шагом dx с...

Код написан в Dev C. Не работает в Visual. Как нужно переделать код? - C++
Здравствуйте. Столкнулась с такой проблемой: код был написан в Dev C, но в Visual он выдаёт ошибку. ...

Ряд Тейлора - исправить код - C++
Я написал программу, а она вроде дает результат но не правильный. Программа высчитывает значение синуса по Ряду Тейлора. синус 1 ~...

Разложение ряд в ряд Тейлора.Переделать программу - C++
Написать программу вычисления и вывода на экран в виде таблицы значений функции, заданной с помощью ряда Тейлора, на интервале от Хзнач до...

Разложение в ряд Тейлора(код есть, но ошибочный) - C++
Передо мной стоит такая задача: http://imagepost.ru/?v=238/uBbB7Cp.png Я написала программу. Ввожу значения переменных, после чего...

56
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
11.06.2013, 23:53 #2
Вот код разложения синуса в ряд тейлора с заданной точностью:
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
double calcSin(const double x, const double eps)
{
    double n = x;
    double sum = 0.0;
    int i = 1;
 
    do
    {
        sum += n; /* äîáГ*âëÿåì ГЄ ñóììå î÷åðåäГ*îé ýëåìåГ*ГІ ðÿäГ* */
        /* âû÷èñëÿåì Г*îâîå Г§Г*Г*Г·ГҐГ*ГЁГҐ ýëåìåГ*ГІГ* ðÿäГ* */
        n *= -1.0 * (x * x) / ((2 * i + 1) * (2 * i));
        i++; /* óâåëè÷èâГ*ГҐГ¬ Г*îìåð ýëåìåГ*ГІГ* */
    }
    while (fabs(n) >= eps);
    
    return sum;
}
 
int main(void)
{
    double eps = 0.00001, x;
    printf("Enter x: "); /* âûâîäèì ГЁГ*ôîðìГ*öèîГ*Г*îå ñîîáùåГ*ГЁГҐ */
    scanf("%lf", &x);     /* ñ÷èòûâГ*ГҐГ¬ Г± ГЄГ«Г*ГўГЁГ*òóðû */
    printf("eps = %f\n", eps);
    printf("sin(%.1f) = %f == %f\n", x, sin(x), calcSin(x, eps));
        
    _getch(); /* ГЇГ*ГіГ§Г* */
    return 0;
}
Вот пример печати таблицы значений функции в заданном диапазоне с заданным шагом:
Вычислить множество значений функции y пока большего дать не могу, занят. Надеюсь, поможет.
1
MikeEl
1 / 1 / 0
Регистрация: 27.03.2012
Сообщений: 52
12.06.2013, 00:02  [ТС] #3
Цитата Сообщение от MrGluck Посмотреть сообщение
Вот код разложения синуса в ряд тейлора с заданной точностью:
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
double calcSin(const double x, const double eps)
{
    double n = x;
    double sum = 0.0;
    int i = 1;
 
    do
    {
        sum += n; /* äîáГ*âëÿåì ГЄ ñóììå î÷åðåäГ*îé ýëåìåГ*ГІ ðÿäГ* */
        /* âû÷èñëÿåì Г*îâîå Г§Г*Г*Г·ГҐГ*ГЁГҐ ýëåìåГ*ГІГ* ðÿäГ* */
        n *= -1.0 * (x * x) / ((2 * i + 1) * (2 * i));
        i++; /* óâåëè÷èâГ*ГҐГ¬ Г*îìåð ýëåìåГ*ГІГ* */
    }
    while (fabs(n) >= eps);
    
    return sum;
}
 
int main(void)
{
    double eps = 0.00001, x;
    printf("Enter x: "); /* âûâîäèì ГЁГ*ôîðìГ*öèîГ*Г*îå ñîîáùåГ*ГЁГҐ */
    scanf("%lf", &x);     /* ñ÷èòûâГ*ГҐГ¬ Г± ГЄГ«Г*ГўГЁГ*òóðû */
    printf("eps = %f\n", eps);
    printf("sin(%.1f) = %f == %f\n", x, sin(x), calcSin(x, eps));
        
    _getch(); /* ГЇГ*ГіГ§Г* */
    return 0;
}
Вот пример печати таблицы значений функции в заданном диапазоне с заданным шагом:
Вычислить множество значений функции y пока большего дать не могу, занят. Надеюсь, поможет.
спасибо за отклик. чтобы оно считало ln, нужно кардинально что-то менять?
0
Хару
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 30
12.06.2013, 00:12 #4
MrGluck, помоги мне тоже с заданием.
Оно такое же только по другой формуле.
0
Wolkodav
604 / 457 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
12.06.2013, 00:20 #5
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
double calсLn(const double x, const double eps)
{
    double n = 1;
    double sum = 0.0;
    int i = 1;
 
    do
    {
        sum += n/i; /* добавляем к сумме очередной элемент ряда */
        /* вычисляем новое значение элемента ряда */
        n *= pow(-1,i++)*(x-1);
        i++; /* увеличиваем номер элемента */
    }
    while (fabs(n) >= eps);
    
    return sum;
}
 
int main(void)
{
    double eps = 0.00001, x;
    printf("Enter x: "); /* выводим информационное сообщение */
    scanf("%lf", &x);     /* считываем с клавиатуры */
    printf("eps = %f\n", eps);
    printf("ln(%.1f) = %f == %f\n", x, log(x), calcSin(x, eps));
        
    _getch(); /* пауза */
    return 0;
}
Добавлено через 2 минуты
Ой, тут еще отрезок, еще и шаг, еще и рекурсия, попозже тогда, щя работаю.
1
MrGluck
12.06.2013, 00:39
  #6

Не по теме:

освобожусь, сделаю. подписался на тему

1
Wolkodav
604 / 457 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
12.06.2013, 01:16 #7
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
#include <iostream>
#include <math.h>
#include <conio.h>
#include <iomanip>
 
using namespace std;
  
double f (double x, int n)
{
return ((pow(-1,n++)*pow ((x-1), n) /n);
}
 
double fun (double e, double x, int n)
{
if (fabs((f(x,n)) - (f(x,n+1))) < e)
return 0;
else
return f(x,n) + fun (e, x, n+1);
}
 
int main()
{
setlocale (0,"");
double xstart, xend, xdelta, e;
cout << "Начало (xstart):";
cin >> xstart;
cout << "Конец (xend): ";
cin >> xend;
cout << "Шаг(xdelta): ";
cin >> xdelta;
cout << "Точность(e, eps): ";
cin >> e;
if (xstart<=0)
{cout<<"Error!"<<endl;
return 0;
}
for(double x=xstart;x <= xend; x+=xdelta) 
{
if (x>0)
continue;
else
cout << "f(" << x << ")=" << setw (9) << fun (e, x, 1) << " " << setw (9) << log(x) << endl;
}
_getch();
return 0;
}
1
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
12.06.2013, 04:15 #8
Цитата Сообщение от Wolkodav Посмотреть сообщение
for(double x=xstart;x <= xend; x+=xdelta)
{
if (x>0)
continue;
наверное можно и break; да и вообще описать в условии

С кубическим синусом:
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
#include <iostream>
#include <iomanip>
#include <cmath>
 
// формула вычисления факториала
unsigned long long fact(const int n)
{
    return n == 1 ? 1 : n * fact(n-1);
}
 
// sum - результат
// n - текущий номер последовательности
// x - собственно аргумент функции sin^3(x)
// eps - точность
double f(double sum, const int n, const double x, const double eps)
{
    double var = pow(3, 2*n+1) - 3; // 3^(2n+1) - 3) *
    if (n % 2 == 0)                 // (-1)^(n+1)    *
        var *= -1;
    var *= pow(x, (2*n+1));         // x^(2n+1)      /
    var /= (4*fact(2*n+1));         // 4*(2n+1)!
    sum += var; // добавляем к сумме ряда очередной элемент
    if (fabs(var) >= eps)
        return f(sum, n+1, x, eps);
    else
        return sum;
}
 
int main()
{
    double step, min, max, eps;
    std::cout << "Enter Xbegin: ";
    std::cin >> min;
    do
    {
        std::cout << "Enter Xend: ";
        std::cin >> max;
    } while (max < min);
    do
    {
        std::cout << "Enter Xdelta: ";
        std::cin >> step;
    } while (step <= 0);
    do
    {
        std::cout << "Enter eps: ";
        std::cin >> eps;
    } while (eps < 0 || eps > 1);
 
    for (double x = min; x <= max; x += step)
    {
        std::cout << "sin^3(" << std::fixed
            << std::setprecision(log10(1/step)) << x << ") = "
            << std::setprecision(log10(1/eps) + 1) << pow(sin(x), 3) << " == "
            << f(0, 1, x, eps) << std::endl;
    }
}
эх, сделал сначала через вычисление следующего члена через предыдущий, а потом потер

Добавлено через 27 минут
С логарифмом
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
#include <iostream>
#include <iomanip>
#include <cmath>
 
// sum - результат
// nom - числитель последнего члена последовательности
// n - текущий номер последовательности
// x - собственно аргумент функции sin^3(x)
// eps - точность
double calc(double sum, double nom, const int n, const double x, const double eps)
{
    nom *= (1-x);
    sum += nom / n;
    if (fabs(nom/n) >= eps)
        return calc(sum, nom, n+1, x, eps);
    else
        return sum;
}
 
// функция для принятия аргументов и передачи их рекурсивной функции с заданными
// числовыми значениями для начальных вспомогательных параметров
double f(const double x, const double eps)
{
    return calc(0, -1, 1, x, eps);
}
 
int main()
{
    double step, min, max, eps;
    std::cout << "Enter Xbegin: ";
    std::cin >> min;
    do
    {
        std::cout << "Enter Xend: ";
        std::cin >> max;
    } while (max < min);
    do
    {
        std::cout << "Enter Xdelta: ";
        std::cin >> step;
    } while (step <= 0);
    do
    {
        std::cout << "Enter eps: ";
        std::cin >> eps;
    } while (eps < 0 || eps > 1);
 
    for (double x = min; x <= max; x += step)
    {
        std::cout << "ln(" << std::fixed
            << std::setprecision(log10(1/step)) << x << ") = "
            << std::setprecision(log10(1/eps) + 1) << log(x) << " == "
            << f(x, eps) << std::endl;
    }
}
1
MikeEl
1 / 1 / 0
Регистрация: 27.03.2012
Сообщений: 52
12.06.2013, 13:48  [ТС] #9
Цитата Сообщение от Wolkodav Посмотреть сообщение
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
#include <iostream>
#include <math.h>
#include <conio.h>
#include <iomanip>
 
using namespace std;
  
double f (double x, int n)
{
return ((pow(-1,n++)*pow ((x-1), n) /n);
}
 
double fun (double e, double x, int n)
{
if (fabs((f(x,n)) - (f(x,n+1))) < e)
return 0;
else
return f(x,n) + fun (e, x, n+1);
}
 
int main()
{
setlocale (0,"");
double xstart, xend, xdelta, e;
cout << "Начало (xstart):";
cin >> xstart;
cout << "Конец (xend): ";
cin >> xend;
cout << "Шаг(xdelta): ";
cin >> xdelta;
cout << "Точность(e, eps): ";
cin >> e;
if (xstart<=0)
{cout<<"Error!"<<endl;
return 0;
}
for(double x=xstart;x <= xend; x+=xdelta) 
{
if (x>0)
continue;
else
cout << "f(" << x << ")=" << setw (9) << fun (e, x, 1) << " " << setw (9) << log(x) << endl;
}
_getch();
return 0;
}
к сожалению, выдает такие ошибки:
2 IntelliSense: существует более одного экземпляра перегруженная функция "pow", соответствующего списку аргументов: 11
Ошибка 1 error C2668: pow: неоднозначный вызов перегруженной функции 11
0
Wolkodav
604 / 457 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
12.06.2013, 13:52 #10
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
#include <iostream>
#include <math.h>
#include <conio.h>
#include <iomanip>
 
using namespace std;
  
double f (double x, double n)
{
return ((pow(-1.0,n++)*pow ((x-1.0), n) /n);
}
 
double fun (double e, double x, double n)
{
if (fabs((f(x,n)) - (f(x,n+1))) < e)
return 0;
else
return f(x,n) + fun (e, x, n+1);
}
 
int main()
{
setlocale (0,"");
double xstart, xend, xdelta, e;
cout << "Начало (xstart):";
cin >> xstart;
cout << "Конец (xend): ";
cin >> xend;
cout << "Шаг(xdelta): ";
cin >> xdelta;
cout << "Точность(e, eps): ";
cin >> e;
if (xstart<=0)
{cout<<"Error!"<<endl;
return 0;
}
for(double x=xstart;x <= xend; x+=xdelta) 
{
if (x>0)
continue;
else
cout << "f(" << x << ")=" << setw (9) << fun (e, x, 1.0) << " " << setw (9) << log(x) << endl;
}
_getch();
return 0;
}
2
MikeEl
1 / 1 / 0
Регистрация: 27.03.2012
Сообщений: 52
12.06.2013, 14:05  [ТС] #11
Цитата Сообщение от Wolkodav Посмотреть сообщение
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
#include <iostream>
#include <math.h>
#include <conio.h>
#include <iomanip>
 
using namespace std;
  
double f (double x, double n)
{
return ((pow(-1.0,n++)*pow ((x-1.0), n) /n);
}
 
double fun (double e, double x, double n)
{
if (fabs((f(x,n)) - (f(x,n+1))) < e)
return 0;
else
return f(x,n) + fun (e, x, n+1);
}
 
int main()
{
setlocale (0,"");
double xstart, xend, xdelta, e;
cout << "Начало (xstart):";
cin >> xstart;
cout << "Конец (xend): ";
cin >> xend;
cout << "Шаг(xdelta): ";
cin >> xdelta;
cout << "Точность(e, eps): ";
cin >> e;
if (xstart<=0)
{cout<<"Error!"<<endl;
return 0;
}
for(double x=xstart;x <= xend; x+=xdelta) 
{
if (x>0)
continue;
else
cout << "f(" << x << ")=" << setw (9) << fun (e, x, 1.0) << " " << setw (9) << log(x) << endl;
}
_getch();
return 0;
}
сейчас работает, но результата не могу добиться. не могли бы Вы свой скриншот сделать, пожалуйста?
0
Wolkodav
604 / 457 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
12.06.2013, 14:07 #12
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
#include <iostream>
#include <math.h>
#include <conio.h>
#include <iomanip>
 
using namespace std;
  
double f (double x, double n)
{
return ((pow(-1.0,n++)*pow ((x-1.0), n) /n);
}
 
double fun (double e, double x, double n)
{
if (fabs((f(x,n)) - (f(x,n+1))) < e)
return 0;
else
return f(x,n) + fun (e, x, n+1);
}
 
int main()
{
setlocale (0,"");
double xstart, xend, xdelta, e;
cout << "Начало (xstart):";
cin >> xstart;
cout << "Конец (xend): ";
cin >> xend;
cout << "Шаг(xdelta): ";
cin >> xdelta;
cout << "Точность(e, eps): ";
cin >> e;
if (xstart<=0)
{cout<<"Error!"<<endl;
return 0;
}
for(double x=xstart;x <= xend; x+=xdelta) 
{
if (x<=0)
continue;
else
cout << "f(" << x << ")=" << setw (9) << fun (e, x, 1.0) << " " << setw (9) << log(x) << endl;
}
_getch();
return 0;
}
Добавлено через 51 секунду
Пишу прямо тут. На глаз проверяю.
0
MikeEl
1 / 1 / 0
Регистрация: 27.03.2012
Сообщений: 52
12.06.2013, 14:13  [ТС] #13
Цитата Сообщение от Wolkodav Посмотреть сообщение
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
#include <iostream>
#include <math.h>
#include <conio.h>
#include <iomanip>
 
using namespace std;
  
double f (double x, double n)
{
return ((pow(-1.0,n++)*pow ((x-1.0), n) /n);
}
 
double fun (double e, double x, double n)
{
if (fabs((f(x,n)) - (f(x,n+1))) < e)
return 0;
else
return f(x,n) + fun (e, x, n+1);
}
 
int main()
{
setlocale (0,"");
double xstart, xend, xdelta, e;
cout << "Начало (xstart):";
cin >> xstart;
cout << "Конец (xend): ";
cin >> xend;
cout << "Шаг(xdelta): ";
cin >> xdelta;
cout << "Точность(e, eps): ";
cin >> e;
if (xstart<=0)
{cout<<"Error!"<<endl;
return 0;
}
for(double x=xstart;x <= xend; x+=xdelta) 
{
if (x<=0)
continue;
else
cout << "f(" << x << ")=" << setw (9) << fun (e, x, 1.0) << " " << setw (9) << log(x) << endl;
}
_getch();
return 0;
}
Добавлено через 51 секунду
Пишу прямо тут. На глаз проверяю.
вот такой результат выходит
0
Миниатюры
Переделать код в рядах Тейлора  
MikeEl
1 / 1 / 0
Регистрация: 27.03.2012
Сообщений: 52
12.06.2013, 14:17  [ТС] #14
Цитата Сообщение от Wolkodav Посмотреть сообщение
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
#include <iostream>
#include <math.h>
#include <conio.h>
#include <iomanip>
 
using namespace std;
  
double f (double x, double n)
{
return ((pow(-1.0,n++)*pow ((x-1.0), n) /n);
}
 
double fun (double e, double x, double n)
{
if (fabs((f(x,n)) - (f(x,n+1))) < e)
return 0;
else
return f(x,n) + fun (e, x, n+1);
}
 
int main()
{
setlocale (0,"");
double xstart, xend, xdelta, e;
cout << "Начало (xstart):";
cin >> xstart;
cout << "Конец (xend): ";
cin >> xend;
cout << "Шаг(xdelta): ";
cin >> xdelta;
cout << "Точность(e, eps): ";
cin >> e;
if (xstart<=0)
{cout<<"Error!"<<endl;
return 0;
}
for(double x=xstart;x <= xend; x+=xdelta) 
{
if (x<=0)
continue;
else
cout << "f(" << x << ")=" << setw (9) << fun (e, x, 1.0) << " " << setw (9) << log(x) << endl;
}
_getch();
return 0;
}
Добавлено через 51 секунду
Пишу прямо тут. На глаз проверяю.
а вот такой результат выдает программа товарища MrGluck
0
Миниатюры
Переделать код в рядах Тейлора  
Wolkodav
604 / 457 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
12.06.2013, 14:29 #15
MikeEl, так возьмите программу господина MrGluck.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2013, 14:29
Привет! Вот еще темы с ответами:

Переделать код! - C++
Вот есть задача: Найти площадь шестиугольника, стороны которого равны a, b, c, d, е, f и диагонали, которые разбивают шестиугольник на...

Переделать код из С в С++ - C++
помогите переделать код из С в С++. до 11.03.14 надо #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;math.h&gt; float f(float...

Переделать код из C# в C++ - C++
Помогите переделать код из C# в C++ int matrix = new int; int number = Convert.ToInt32(Console.ReadLine()); ...

Переделать код с Си на C++ - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; int main(int argc, char *argv) { size_t strLen, keyLen, i, k; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
12.06.2013, 14:29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru