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

Вычисление суммы с факториалом - C++

Восстановить пароль Регистрация
 
Альма
 Аватар для Альма
12 / 9 / 1
Регистрация: 25.11.2010
Сообщений: 353
Записей в блоге: 1
16.01.2014, 16:34     Вычисление суммы с факториалом #1
Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры.
Так как значение S(x) является рядом разложения функции Y(x), при правильном решении значения S и Y для заданного аргумента x (для тестовых значений исходных данных) должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.
Работу программы проверить для a = 0,1; b = 1,0; h = 0,1.
Формулы на картинке

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
#pragma hdrstop
//---------------------------------------------------------------------------
//#pragma argsused
 
int main(int argc, char* argv[])
{
    double a, b, h, S, Y, x, r;
    int i, n;
 
    cout << "Vvedite a:";
    cin >> a;
    cout << "Vvedite b:";
    cin >> b;
    cout << "Vvedite h:";
    cin >> h;
    cout << "Vvedite n:";
    cin >> n;
 
    for (x = a; x <= b; x += h)       //цикл изменения х от а до b с шагом h
    {
        Y = (pow(x, 2) / 4 + (x / 2) + 1)*exp(x / 2); //вычисление Y(x)
        {
            r = S = 1;
            for (i = 1; i <= n; i++)
            {
                r *= ((i*i + 1) / ((i - 1)*i))*(pow((x / 2), i)); // ПРОБЛЕМА
                S += r; // вычисление S(x)
            }
 
            printf("\n x= %8.2lf   S(x)= %8.5lf    Y(x)= %8.5lf    |Y(x)-S(x)|= %8.5lf", x, S, Y, fabs(Y - S));    //вывод результат для каждого шага   
            i++;
        }
        _getch();
        return 0;
    }
}
Проблема с вычислением суммы, т.к. там факториал, помогите исправить
Миниатюры
Вычисление суммы с факториалом  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 16:34     Вычисление суммы с факториалом
Посмотрите здесь:

Вычисление суммы C++
C++ Вычисление суммы четных и суммы нечетных чисел в одномерном массиве!
C++ Вычисление суммы
Вычисление суммы квадратов четных чисел и суммы кубов нечетных чисел C++
C++ Ввод элементов массива с клавиатуры, вычисление суммы по формуле, нахождение максимальной суммы
C++ Найти значение функции и суммы с факториалом
Вычисление степени матрицы, вычисления произведения двух матриц, вычисление суммы двух матриц C++
C++ Запись формулы алгебраической суммы c факториалом

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Альма
 Аватар для Альма
12 / 9 / 1
Регистрация: 25.11.2010
Сообщений: 353
Записей в блоге: 1
16.01.2014, 16:58  [ТС]     Вычисление суммы с факториалом #2
Разобралась сама!
Теперь считает, но выводит только один результат.../

Добавлено через 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
//---------------------------------------------------------------------------
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
#pragma hdrstop
//---------------------------------------------------------------------------
//#pragma argsused
 
int main(int argc, char* argv[])
{
    double a, b, h, S, Y, x, r;
    int i, n;
 
    cout << "Vvedite a:";
    cin >> a;
    cout << "Vvedite b:";
    cin >> b;
    cout << "Vvedite h:";
    cin >> h;
    cout << "Vvedite n:";
    cin >> n;
    
    for (x = a; x <= b; x += h)       //цикл изменения х от а до b с шагом h
    {
        Y = (pow(x, 2) / 4 + (x / 2) + 1)*exp(x / 2); //вычисление Y(x)
        {
            r = S = 1.0;
            for (i = 1; i <= n + 1; i++)
            {
                r *= (x / 2) / i;
                S += (i*i + 1)*r; // вычисление S(x)
            }
        }
            printf("\n x= %8.2lf   S(x)= %8.5lf    Y(x)= %8.5lf    |Y(x)-S(x)|= %8.5lf", x, S, Y, fabs(Y - S));    //вывод результат для каждого шага   
    }
    _getch();
    return 0;
}
Может кому пригодится)
Yandex
Объявления
16.01.2014, 16:58     Вычисление суммы с факториалом
Ответ Создать тему
Опции темы

Текущее время: 16:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru