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

Ряды Тейлора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать структуру MUSEUM http://www.cyberforum.ru/cpp-beginners/thread69103.html
Пожалуйста посмотрите это условие может вы сможете мне помочь..... Описать структуру MUSEUM (название музея, время работы, стоимость билета, адрес). Введите данные в массив, состоящий из шести элементов типа MUSEUM. Выведите на экран информацию о музеях, стоимость билета в которых меньше введенного с клавиатуры числа. Если такого музея нет, то программа должна выдать соответствующее сообщение...
C++ Определить количество слов в строке Люди помогите пожалуйста бедной девушке... Дана строка текста, в которой слова разделены пробелами. Необходимо: - определить количество слов в строке; - найти самое короткое и самое длинное слово и вывести их на экран; - исключить из строки первое и последнее слова и вывести текст, который остался. http://www.cyberforum.ru/cpp-beginners/thread69101.html
Вычисление суммы ряда с точностью ЕПСИЛОН C++
Написать программу на языке С "вычисление суммы ряда с точностью ЕПСИЛОН"! Помогите кто может! file:///C:/Documents%20and%20Settings/%D0%92%D0%B0%D0%BB%D0%B5%D1%80%D0%B0/%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%81%D1%82%D0%BE%D0%BB/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%20Microsoft%20Word.files/image002.gif
C++ на циклы
такая задача: дано неравенство x^3-3*x+a>0 нужно выяснить, при каком наименьшем натуральном а будет решение над полем вещественных чисел. единственный вариант решения, который я вижу, это приравнять к нулю выражение и перебирать а от единицы и далее, выясняя есть ли корни.
C++ Указатели http://www.cyberforum.ru/cpp-beginners/thread69072.html
Введите с клавиатуры данные в массив целого типа, а затем выведите на экран их среднее значение. тема:указатели Добавлено через 17 минут если можно, массив задать через константу, а не динамически
C++ Строки Дона строка текста, в которой слова разделены пробелами. Необходимо: -вычислить количество строк в строке -переставить слова в строке в обратном порядке. Помогите первый пункт сделал а вот второй чтото не получается вот код #include <vcl.h> #include <stdio.h> #include <string.h> #include <conio.h> #include <iostream.h> подробнее

Показать сообщение отдельно
Том Ардер
Модератор
Эксперт по математике/физике
3722 / 2335 / 290
Регистрация: 15.06.2009
Сообщений: 4,150
01.12.2009, 18:17     Ряды Тейлора
Цитата Сообщение от Vladimir. Посмотреть сообщение
Том Ардер, перед тем как упрощать, нужно понимать что делаешь и как делаешь. А так же, что измениться при упрощении. Имхо: код должен сначала начать работать, а потом отимизироваться..
3y6_DyIIJloBu4, вот готовое решение, разберитесь в нём:[SPOILER="развернуть код."][C]
Код, просто работающий, и код, дающий правильный результат - две большие разницы. Уверен, что предложенный код не проверялся на правильность, потому что в нём есть ошибки.

Об упрощении исходного выражения.
sin(pi*n/4) принимает лишь три значения (с точностью до знака): 0, 1, 1/корень(2). Нужно ли его вычислять? Рационально ли вычислять _целые_ степени функцией pow? А факториал легко приводит к переполнению целого.

Вот правильный код:

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
#include <math.h>
#include <iostream>
using namespace std;
 
int main()
{
    double  x, eps;
 
    cout << "x = ? ";
    cin >> x;
    cout << "eps = ? ";
    cin >> eps;
 
    double  x4 = 4*x*x*x*x;
    int     k2 = 1;     // 2k+1
    int     k4 = 1;     // 4k+1
    double  a = 1;      // главная часть текущего слагаемого
    double  t = 1. + x/double(k2)*(1. + x/double(k4+2));
    double  sum = 0;
 
    while( fabs(a*t) > eps )
    {
        t = 1. + x/double(k2)*(1. + x/double(k4+2));
 
        sum += a * t;
 
        k2 += 2;
        k4 += 4;
        a = -a * x4 / double((k4-3)*(k4-2)*(k4-1)*k4);
    }
    sum *= x;
 
    cout << sum << endl;
    cout << exp(x)*sin(x);
 
        system("pause");
        return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru