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

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

Восстановить пароль Регистрация
 
sopik
2 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 81
15.04.2010, 22:48     сумма ряда #1
Используя функцию, написать программу Написать функцию вычисления суммы ряда s=s(1)+…+s(n),

где s(n)=(-1)^n x^(2n-1)/(2n+1) с точностью до eps=0.001. В качестве параметров выбрать x
Кое какие наброски есть но тут куча ошибок да и сам цикл под вопросом. Дайте совет!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define  e 0.001
#define func(s);
 main()
{
clrscr();
double x,stx;
int i;
printf("enter x",x);
scanf("%f",&x);
i=0;
stx=x;
 
s=-stx/3;
do{i++; s=s+stx/(2*i+1);}
while (abs(stx/(2*i+1)<=e);
 
printf("\n s=%f",s);
scanf("\n %f", &s);
getcg();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2010, 22:48     сумма ряда
Посмотрите здесь:

C++ сумма ряда
С++ Сумма ряда. C++
C++ Сумма ряда
сумма ряда C++
Сумма ряда C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
insideone
Модератор
Автор FAQ
 Аватар для insideone
3620 / 898 / 47
Регистрация: 10.01.2010
Сообщений: 2,422
15.04.2010, 23:42     сумма ряда #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    double x = 0.0, part = 0.002, sum = 0.0;
    cin >> x;
 
    for (int n = 1; abs(part) > 0.001; n++)
    {
       part = pow(-1.0, (double)n) * pow(x, (2.0*(double)n - 1.0) / (2.0*(double)n + 1.0));
       sum = sum + part;
    }
    cout << endl << sum;
return 0;
}
Но ряд расходится... и его элементы не станут меньше 0.001 т.е. цикл бесконечный. Или я что то не понял?
sopik
2 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 81
16.04.2010, 14:38  [ТС]     сумма ряда #3
с точностью до eps=0.001. В качестве параметров выбрать x и eps.
это из условия задачи тоже непонятно. eps=0.001 и тут же выбрать в качестве параметра eps? Получается что можно задать другое значение eps?

Добавлено через 1 час 43 минуты
может х<=1 попробовать? Как думаешь?
insideone
Модератор
Автор FAQ
 Аватар для insideone
3620 / 898 / 47
Регистрация: 10.01.2010
Сообщений: 2,422
16.04.2010, 15:59     сумма ряда #4
Так все ж равно цикл бесконечный выходит... может просто формула не такая?
sopik
2 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 81
16.04.2010, 20:00  [ТС]     сумма ряда #5
формула верна на 100%, если x<1 то ряд сойдётся. Просто условие для выполнения цикла верное нужно задать.
saintt
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 4
16.04.2010, 22:25     сумма ряда #6
Цикл должен выполняться при таком условии while(fabs(Fn)>=точности)
if(fabs(Fn)<e) break;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2010, 22:30     сумма ряда
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
sopik
2 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 81
16.04.2010, 22:30  [ТС]     сумма ряда #7
щас свой вариант проверю, если не пойдет буду с твоим разбираться
Yandex
Объявления
16.04.2010, 22:30     сумма ряда
Ответ Создать тему
Опции темы

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