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

Вычислить сумму ряда. - C++

Восстановить пароль Регистрация
 
ewenso
 Аватар для ewenso
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 25
23.01.2012, 14:02     Вычислить сумму ряда. #1
День добрый. Помогите пожалуйста написать програмку.

Вот задание.
http://s006.***********/i214/1201/83/a86d4a6e9fe2.jpg
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2911 / 1340 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
23.01.2012, 16:03     Вычислить сумму ряда. #2
Ты бы хотел увидеть решение в виде скриншота на радикале?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cmath>
 
int main(int argc, char *argv[]) {
  double epsilon = 0.0000001; // вот это надо вводить, но мне лень
  double etalon = 3.14159265 / (2 * sqrt(3));
  double result = 0;
  double intermediateResult = 1;
  for (int i = 0; fabs(intermediateResult) > epsilon; ++i) {
    result += intermediateResult;
    intermediateResult = (i % 2 ? 1 : -1) * 1./((3 + 2 * i) * (pow(3, i + 1)));
  }
  std::cout << "Etalon: "<< etalon << std::endl << "Result: " << result << std::endl;
}
ewenso
 Аватар для ewenso
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 25
23.01.2012, 16:07  [ТС]     Вычислить сумму ряда. #3
double epsilon = 0.0000001; // вот это надо вводить, но мне лень

Вводить что?

П.с просто не понял как тут картинку закинуть.
lemegeton
 Аватар для lemegeton
2911 / 1340 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
23.01.2012, 16:42     Вычислить сумму ряда. #4
Прочитай задание внимательно.
epsilon это точность, которую и надо вводить.
ewenso
 Аватар для ewenso
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 25
23.01.2012, 16:51  [ТС]     Вычислить сумму ряда. #5
Прочитал, вот как я понимаю это дело.
Мы вводим е потом происходят расчеты по большой формуле потом и по 2. и ответы должны быть одинаковы так?
Но,double epsilon = 0.0000001 это же уже введено, и я не вижу 1 формулу...просто я в этом практически не бум бум.
lemegeton
 Аватар для lemegeton
2911 / 1340 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
23.01.2012, 16:58     Вычислить сумму ряда. #6
Цитата Сообщение от ewenso Посмотреть сообщение
просто я в этом практически не бум бум.
Я заметил.

epsilon и есть точность, которую по заданию надо вводить.
Вот и вводи её, если надо. Мне лень.
ewenso
 Аватар для ewenso
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 25
23.01.2012, 17:01  [ТС]     Вычислить сумму ряда. #7
Ок. это я понял, осилю.но вот вопрос который так и не понял, там же расчет идет по 2ум формулам, а вижу только 1.
Roof
 Аватар для Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
23.01.2012, 17:01     Вычислить сумму ряда. #8
Вот мой вариант.
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
#include <iostream>
#include <cmath>
using namespace std;
 
// Если компилятор не знает что такое M_PI, то расскомментировать следующую строку
// # define M_PI 3.14159265358979323846
 
double calc_beside( double );
 
int main() {
    double my_eps;
    cout << "Введите точность " << endl;
    cin >> my_eps;
    cout << "Сумма ряда равна " << calc_beside( my_eps ) << endl;
    cout << "Проверочное значение равно " << M_PI / ( 2 * sqrt( 3 ) ) << endl;
 
    return 0;
}
 
double calc_beside( double eps ) {
    unsigned int cnt = 1;
    double curr, val = 1.0;
 
    do {
        curr = 1.0 / ( ( 1.0 + cnt * 2 ) * pow( 3.0, cnt ) );
 
        cnt % 2 ? val -= curr : val += curr;
 
        ++cnt;
    } while ( curr >= eps );
 
    return val;
}
Консоль
Введите точность
0.0000001
Сумма ряда равна 0.9069
Проверочное значение равно 0.9069
ewenso
 Аватар для ewenso
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 25
23.01.2012, 17:04  [ТС]     Вычислить сумму ряда. #9
Спасибо, но хотелось бы разобраться и с 1 вариантом, для знаний хоть каких то...
lemegeton
 Аватар для lemegeton
2911 / 1340 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
24.01.2012, 08:09     Вычислить сумму ряда. #10
Цитата Сообщение от ewenso Посмотреть сообщение
Ок. это я понял, осилю.но вот вопрос который так и не понял, там же расчет идет по 2ум формулам, а вижу только 1.
Раз "формула":
C++
1
double etalon = 3.14159265 / (2 * sqrt(3));
Два "формула":
C++
1
2
3
4
5
6
  double result = 0;
  double intermediateResult = 1;
  for (int i = 0; fabs(intermediateResult) > epsilon; ++i) {
    result += intermediateResult;
    intermediateResult = (i % 2 ? 1 : -1) * 1./((3 + 2 * i) * (pow(3, i + 1)));
  }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2012, 12:08     Вычислить сумму ряда.
Еще ссылки по теме:

Вычислить сумму ряда C++
Вычислить сумму ряда C++
Вычислить сумму четных и сумму нечетных чисел натурального ряда от 1 до N C++

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

Или воспользуйтесь поиском по форуму:
ewenso
 Аватар для ewenso
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 25
24.01.2012, 12:08  [ТС]     Вычислить сумму ряда. #11
Спасибо большое.
Yandex
Объявления
24.01.2012, 12:08     Вычислить сумму ряда.
Ответ Создать тему
Опции темы

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