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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2016, 12:57   #1
marysluva
Пользователь
 
Регистрация: 18.12.2016
Сообщений: 29
По умолчанию Какая ошибка?

Составить программу для приближенного вычисления значения функции в точке х с помощью разложения в ряд Тейлора. Найти приближенное значение функции с погрешностью менее 0,0001. Вывести на экран точное значение, найденное приближенное значение и полученную погрешность

Код:
#include <stdio.h>
#include <math.h>

int main()
{
    double Eps=0.0001, s =0, a = 1, x;
    int n=1;
    while (fabs(a) > Eps) {
        s += a;
        a *= x*x/(2*n-1)*2*n;
    }
system ("pause");
return 0;
}
Изображения
Тип файла: jpg 0BSPgwzey2A.jpg (11.2 Кб, 80 просмотров)
marysluva вне форума Ответить с цитированием
Старый 19.12.2016, 12:59   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Ну как минимум в том что не выводите "на экран точное значение, найденное приближенное значение и полученную погрешность"
Да и ваще криво все написано как то ...
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 19.12.2016, 13:22   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

x не задан. n не наращивается. И на 2*n нужно делить, а не умножать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.12.2016, 13:30   #4
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Странно. Вот набросал по быстрому.

Код:
long factorial(long x)
        {
            return (x == 0) ? 1 : x * factorial(x - 1);
        }


double x = 2;
            double prev = 0;
            double current = 0;
            double resv = 0;
            double eps = 0;
            for (int n = 0; n < int.MaxValue; n++)
            {
                current = Math.Pow(x, 2 * n) / factorial(2 * n);
                if (prev != 0)
                {
                    eps = Math.Abs(prev - current);
                    if (eps < 0.0001) break;
                }
                resv += current;
                prev = current;
            }
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.

Последний раз редактировалось WorldMaster; 19.12.2016 в 13:45.
WorldMaster вне форума Ответить с цитированием
Старый 19.12.2016, 13:50   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А зачем так в лоб? ТС пытается реккурентность использовать, а она есть в этом ряду: r(n)=r(n-1)*x*x/(2*n-1)/(2*n)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.12.2016, 13:56   #6
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А зачем так в лоб? ТС пытается реккурентность использовать, а она есть в этом ряду: r(n)=r(n-1)*x*x/(2*n-1)/(2*n)
Ну тут переделать не долго .. Мне в лом если честно .. ))))
Можете переделать.. Я тут на шарпе сделал, еще и на сишку надо перенести.

Кстати при значениях икса больше 4 из за факториала я так понимаю переполнение возникает до момента достижения заданной точности. С этим тоже наверное надо как то бороться?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какая ошибка в коде? Kelthagor JavaScript, Ajax 11 25.04.2012 16:50
какая ошибка в программе??? MickeyMouse Общие вопросы C/C++ 1 31.05.2010 18:56
какая ошибка в программе??? MickeyMouse Помощь студентам 0 31.05.2010 18:31
непонятная ошибка какая-то... vedro-compota Помощь студентам 1 15.05.2010 13:57
Какая то ошибка! aesoem БД в Delphi 3 06.03.2008 18:18