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

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

Войти
Регистрация
Восстановить пароль
 
hello_world
3 / 3 / 4
Регистрация: 17.01.2011
Сообщений: 41
#1

Сумма ряда - C++

05.10.2011, 21:22. Просмотров 773. Ответов 5
Метки нет (Все метки)

Вычислить сумму ряда:
Сумма ряда
С точностью до члена ряда меньшего 10^-6.
Для определения текущего члена ряда использовать рекуррентную формулу.

 Комментарий модератора 
Прикрепляйте картинки к сообщениям.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2011, 21:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сумма ряда (C++):

Сумма ряда - C++
\sum_{i=1}^{k}log_{10}(\sqrt{2\cdot \frac{1}{i^2}})\;,\;k\lt 35 #include "stdafx.h" #include <iostream> #include "math.h" using...

Сумма ряда - C++
{delete} Нету времени в это вникать, завтра нужно сдать работу. Помогите пожалуйста, разобраться в коде и обьяснить случай Е=0 смогу, но...

Сумма ряда - C++
Ребята.помогите доработать прогу,не получается.. ((( Добавлено через 18 минут Вычислить сумму ряда (-1)^K/K^k ...

сумма ряда - C++
не могу написать код для нахождения суммы ряда вот условие::

С++ Сумма ряда. - C++
S = 1+ 1/4 +1/16 + 1/36/..... Вычислить сумму бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых,...

Сумма ряда - C++
Здравствуйте! Кто подскажет как правильно записать код для вычисления суммы ряда например : С_n=1/√(C_(n-1) )+1; при заданном первом...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
-=ЮрА=-
Заблокирован
Автор FAQ
05.10.2011, 22:13 #2
Цитата Сообщение от hello_world Посмотреть сообщение
Вычислить сумму ряда:
http://i073.***********/1110/cb/73636d157568.jpg
С точностью до члена ряда меньшего 10^-6.
Для определения текущего члена ряда использовать рекуррентную формулу.
Вот что у меня получилось
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 <iostream>
#include <cmath>
#include <conio.h>
using namespace std;
 
double SeqElement(double x, long n, long i)
{
    double ret = pow(x,n);
    if(0 < i)
    if(i < n)
        ret = pow(x,1.0*(n - i))/(i + 1);
    else
        ret = (x - (n - i))/(n + (i - n));
    return ret;
}
 
 
int main()
{
    long i,n;
    double x,e,sum,buf;
    do
    {
        std::cout<<"Enter x : ";std::cin>>x;
        std::cout<<"Enter n : ";std::cin>>n;
        std::cout<<"Enter e (for example 0.000001) :";std::cin>>e;
        i = 0;sum = 0;//Обнулили счётчик єлементов и сумму
        //Я пишу в старой версии студии в 10-ке вместо fabs нужно писать abs
        while(e < fabs((buf = SeqElement(x, n, i)) - SeqElement(x, n, i + 1)))
        {
            //Цикл продолжается до пока i-ый элемент больше заданой погрешности
            sum += buf;
            i++;
        }
        std::cout<<"S = "<<sum<<"\r\n";
        std::cout<<"Press Y for new input\r\n";
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
Миниатюры
Сумма ряда  
hello_world
3 / 3 / 4
Регистрация: 17.01.2011
Сообщений: 41
05.10.2011, 22:31  [ТС] #3
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Вот что у меня получилось
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 <iostream>
#include <cmath>
#include <conio.h>
using namespace std;
 
double SeqElement(double x, long n, long i)
{
    double ret = pow(x,n);
    if(0 < i)
    if(i < n)
        ret = pow(x,1.0*(n - i))/(i + 1);
    else
        ret = (x - (n - i))/(n + (i - n));
    return ret;
}
 
 
int main()
{
    long i,n;
    double x,e,sum,buf;
    do
    {
        std::cout<<"Enter x : ";std::cin>>x;
        std::cout<<"Enter n : ";std::cin>>n;
        std::cout<<"Enter e (for example 0.000001) :";std::cin>>e;
        i = 0;sum = 0;//Обнулили счётчик єлементов и сумму
        //Я пишу в старой версии студии в 10-ке вместо fabs нужно писать abs
        while(e < fabs((buf = SeqElement(x, n, i)) - SeqElement(x, n, i + 1)))
        {
            //Цикл продолжается до пока i-ый элемент больше заданой погрешности
            sum += buf;
            i++;
        }
        std::cout<<"S = "<<sum<<"\r\n";
        std::cout<<"Press Y for new input\r\n";
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
в паскаль кста перевести не сможешь?
-=ЮрА=-
05.10.2011, 22:39
  #4

Не по теме:

Цитата Сообщение от hello_world Посмотреть сообщение
в паскаль кста перевести не сможешь?
- к сожелению я не знаком с Pascal

hello_world
3 / 3 / 4
Регистрация: 17.01.2011
Сообщений: 41
05.10.2011, 22:59  [ТС] #5
Вот эту функцию сможешь прокомментировать?
C++
1
2
3
4
5
6
7
8
9
10
double SeqElement(double x, long n, long i)
{
        double ret = pow(x,n);
        if(0 < i)
        if(i < n)
                ret = pow(x,1.0*(n - i))/(i + 1);
        else
                ret = (x - (n - i))/(n + (i - n));
        return ret;
}
-=ЮрА=-
Заблокирован
Автор FAQ
06.10.2011, 09:36 #6
Цитата Сообщение от hello_world Посмотреть сообщение
Вот эту функцию сможешь прокомментировать?
Да конечно. Введём обозаначение E[i] - i-ый элемент ряда.
Тогда искомую сумму можем записать так
S = E[0] + E[1] + E[2] + ... + E[n] + E[n + 1] + E[n + 2] + ...
E[0] = x^n -
Цитата Сообщение от hello_world Посмотреть сообщение
double ret = pow(x,n);
E[1] = x^(n - 1)/2 - x(n - i)/(i + 1)
Цитата Сообщение от hello_world Посмотреть сообщение
ret = pow(x,1.0*(n - i))/(i + 1);
E[n] = x^/n
E[n + 1] = (x - 1)/(n + 1)
Цитата Сообщение от hello_world Посмотреть сообщение
ret = (x - (n - i))/(n + (i - n));
Данная функция
Цитата Сообщение от hello_world Посмотреть сообщение
double SeqElement(double x, long n, long i)
и возвращает элемент ряда в зависимости от i. Условием окончания итерационного процесса является |E[i + 1] - E[i]| < e
Цитата Сообщение от hello_world Посмотреть сообщение
e < fabs((buf = SeqElement(x, n, i)) - SeqElement(x, n, i + 1))
Правда я формулу перевернул |E[i] - E[i + 1]| < e, но сути это не изменит мы всё равно модуль находим
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2011, 09:36
Привет! Вот еще темы с ответами:

Сумма ряда - C++
Здравствуйте! Помогите написать пожалуйста программу... Вычисление суммы первых n членов последовательности. Пользователь вводит...

Сумма ряда - C++
Как вычислить сумму ряда с заданной точностью? Составить программу вычисления суммы членов ряда с точностью до члена &lt; E; Определить...

Сумма ряда - C++
Добрый день! Как найти сумму ряда дав задать е пользователю и выполнить 1 - (1/3)+(1/5)-(1/7)+... пока не станет меньше е. И вывести...

Сумма ряда - C++
помогите решить такую задачу y=1+x/1!+x^2/2!+...+x^n/n! короче мудрил мудрил в итоге получил так но всеравно неправильно! #include...


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

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

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