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

Вычислить сумму ряда. Где-то напутал знаки или формула ряда не правильная. Посмотрите свежим взглядом. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Оператор continue. http://www.cyberforum.ru/cpp-beginners/thread431775.html
Помогите:Вывести нечетные числа от 0 до 100, используя оператор continue.
C++ для чего и как исползовать "template"? Привет всем... может ктото обяснит как исползовать template? спасибо заранее... П.С гугл не впомош, если ктото даст пример то буду рад.. ;) http://www.cyberforum.ru/cpp-beginners/thread431745.html
Найти наибольший общий делитель всех элементов массива C++
Такая задача: Найти наибольший общий делитель всех элементов массива (на который они все делятся без остатка).
C++ Запуск функции О_о
есть функция void Account::Save (FILE *f) { int nlen = strlen (card_holder); fprintf (f, "%d %s %c%c%c %c%c/%c%c %d\r\n", sum, card_number, cvc2, cvc2, cvc2, validity.month, validity.month, validity.year, validity.year, nlen); fprintf (f, "%s\r\n", card_holder);
C++ Считывание нескольких строк с пробелами http://www.cyberforum.ru/cpp-beginners/thread431702.html
Я знаю, что есть функция getline. Но если мне в коде надо считать несколько разных строк с пробелами, что мне делать? Потому что при дебаге выяснил, что когда программа проходит через 2ой getline, она уже не считывает То есть, мне надо считать 2 строки( например) I love biscuits Hello world! 2 разные строки и обе должны быть с пробелами. Как это реализовать на C++?
C++ Задание по Страуструпу. Требуется помощь Доброй ночи! на картиночке задание по Страуструпу. первую и третью часть я довел до рабочего состояния, но то как оно сделано вызвало интерес посмотреть а как оно должно быть. Поэтому прошу вас, как опытных программистов, уделить какое то время и решить вторую часть задания про входной поток. Это позволит посмотреть как правильно писать код, позволит увидеть возможные простые решения этой... подробнее

Показать сообщение отдельно
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
20.01.2012, 10:22     Вычислить сумму ряда. Где-то напутал знаки или формула ряда не правильная. Посмотрите свежим взглядом.
Привет!
Пишу простую контрольную, не могу понять, то ли я где-то со знаками туплю, то ли формула не корректна.
Задание:
написать функцию вычисления суммы ряда. для диапазона значений 0.1 .. 0.9 и шага 0.1 изменения аргумента вычислить значения суммы ряда и контрольной функции, к которой он сходится, с точностью до 4 знаков после запятой.
Ряд: sin(x) - sin(2x) / 2+..+(-1)*n * sin(nx) / n
Контрольная ф-ция: x / 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
34
35
#include <iostream>
#include <cmath>
 
double series_sum(double, int = 1);
double chek_series_sum(double);
 
const double eps = 1E-4;
 
int main() 
{
    const double begin = 0.1, end = 0.9, step = 0.1;
    double calculated_sum, real_sum;
 
    for (double x = begin; x <= end; x += step) {
        calculated_sum = series_sum(x);
        real_sum = chek_series_sum(x);
        std::cout << "Calculated amount of series with x = " << x << ": " << calculated_sum << std::endl
                  << "Real value: " <<real_sum<<std::endl;
    }   
    return 0;
}
 
double series_sum(double x, int n)
{
    double step_val = pow(-1., n) * sin(n * x) / n;
    if (abs(step_val) <= eps) {
        return step_val;
    }
    return step_val + series_sum(x, ++n);
}
 
double chek_series_sum(double x)
{
    return x/2.;
}
Вывод:
Код
Calculated amount of series with x = 0.1: -0.0498659
Real value: 0.05
Calculated amount of series with x = 0.2: -0.100496
Real value: 0.1
Calculated amount of series with x = 0.3: -0.150405
Real value: 0.15
Calculated amount of series with x = 0.4: -0.200353
Real value: 0.2
Calculated amount of series with x = 0.5: -0.249524
Real value: 0.25
Calculated amount of series with x = 0.6: -0.298302
Real value: 0.3
Calculated amount of series with x = 0.7: -0.350978
Real value: 0.35
Calculated amount of series with x = 0.8: -0.398703
Real value: 0.4
Calculated amount of series with x = 0.9: -0.448706
Real value: 0.45
Т.е. считает правильно, только знаки не совпадают. Не могу увидеть проблему, посмотрите свежим взглядом.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru