Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
1 / 1 / 0
Регистрация: 16.04.2016
Сообщений: 20
1

Сумма рядов

12.09.2017, 10:25. Показов 2928. Ответов 32
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте Всем!
Подскажите пожалуйста, что не так? Изначально делал без проверки на точность (EPSILON), работало странно, но как то работало

Само задание: вычисляем сумму ряда до тех пор, пока слагаемое не станет меньше eps(причем eps можно установить), само вычисление суммы нужно запихнуть в цикл и воспроизвести 1000000 раз (рис. во вложениях). Задача простая (вроде бы), но застрял.

Код, который я написал:
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
#include <iostream>
#include <cmath>
#include <cstdlib>
 
using namespace std;
 
const int m = 1000000;
const int index = 6;
const float eps = 0.001;
 
double f_first, f_second, factorial, sum, x, a;
int main() {
    f_first = 0;
    f_second = 1;
    sum = 0;
    factorial = 1;
    for(int i = 3; a <= eps; i++){
        x = f_second;
        f_second += f_first;
        f_first = x;
 
        factorial *= i-1;
        a = (f_second*pow(index, i)*sqrt(i))/factorial;
        sum += a; // f2 * 6^i * sqrt(i) / x;  x = (i-2)!*(i-1)
        cout << "Count iteration: " << i << endl;
        if(sum > m) break;
    }
 
    cout << "Your sum: " << sum << "\n";
    system("pause");
    return 0;
}
На втором скрине видно, что выдает в ответе.
Проходит вроде 1 итерация, пишет что 3.
Подскажите, пожалуйста! Заранее спасибо.
Миниатюры
Сумма рядов   Сумма рядов  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2017, 10:25
Ответы с готовыми решениями:

Сумма рядов
Здравствуйте, Уважаемые форумчане ! :) Вот есть задание: Вычислить сумму рядов, используя...

Сумма рядов.
1. Вычислить бесконечную сумму (сумма от i=1 до бесконечности от 1/(i*i)) с заданной точностью...

Сумма рядов на Си
Как на Си закодить формулу суммы рядов С ( с черточкой) ? Скрин прикреплен.

Калькулятор рядов
Товарищи программисты, можно ли просто и доступно объяснить, как сделать калькулятор числовых рядов...

32
34 / 36 / 17
Регистрация: 16.04.2017
Сообщений: 478
Записей в блоге: 4
12.09.2017, 12:46 21
Author24 — интернет-сервис помощи студентам
likehood, ты мой код тестил или его?
moxnatik,
C++
1
2
3
4
5
6
7
8
9
double myPow(double x,int power)
{
double result=x;
for (int i=2;i<power+1;i++)
{
    result*=x;
}
return result;
}

Не по теме:

как видишь не очень сложно, сам -нет?

1
1 / 1 / 0
Регистрация: 16.04.2016
Сообщений: 20
12.09.2017, 12:46  [ТС] 22
saqef, сделал свою функцию со степенью. Сумма теперь другая)
Миниатюры
Сумма рядов  
0
1 / 1 / 0
Регистрация: 16.04.2016
Сообщений: 20
12.09.2017, 12:49  [ТС] 23
saqef, почему power +1 в цикле?
0
34 / 36 / 17
Регистрация: 16.04.2017
Сообщений: 478
Записей в блоге: 4
12.09.2017, 12:58 24
moxnatik, потому что там знак <, то есть последняя степень будет (power+1)-1

Не по теме:

Ты какой-то засранец.
Запустил свой код с while-работает.
Запустил подсчёт степени тоже работает.
Как так-то?:(

1
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
12.09.2017, 13:13 25
moxnatik, извините, что вмешиваюсь, но вам не надо вызывать функцию pow, у вас там получается двойной вложенный цикл, вы прямо в цикле где суммирование идет заведите переменную, инициализируйте index в кубе и на каждой итерации умножайте на index.
1
1 / 1 / 0
Регистрация: 16.04.2016
Сообщений: 20
12.09.2017, 13:24  [ТС] 26
saqef, спасибо.

Добавлено через 26 секунд
ТЕМА ЗАКРЫТА

Добавлено через 15 секунд
likehood, спасибо
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
12.09.2017, 13:25 27
Цитата Сообщение от saqef Посмотреть сообщение
ты мой код тестил или его?
его
0
34 / 36 / 17
Регистрация: 16.04.2017
Сообщений: 478
Записей в блоге: 4
12.09.2017, 13:28 28
woldemas, да действительно-не заметил.
Спасибо.
0
1 / 1 / 0
Регистрация: 16.04.2016
Сообщений: 20
12.09.2017, 13:33  [ТС] 29
woldemas, напишите пожалуйста про степень.
внутри цикла получается:
int test = index^3;
а дальше?
0
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
12.09.2017, 13:39 30
Цитата Сообщение от moxnatik Посмотреть сообщение
внутри цикла получается:
int test = index^3;
Не внутри, перед циклом, а внутри цикла test *= index и этот test на место, где у вас pow вызывалось
0
1 / 1 / 0
Регистрация: 16.04.2016
Сообщений: 20
12.09.2017, 13:45  [ТС] 31
woldemas, сумма теперь считается по-другому :с
Миниатюры
Сумма рядов  
0
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
12.09.2017, 13:48 32
Цитата Сообщение от moxnatik Посмотреть сообщение
сумма теперь считается по-другому
Поставьте test*=index после вычисления a.

И вообще копируйте код, а не картинки.
1
1 / 1 / 0
Регистрация: 16.04.2016
Сообщений: 20
12.09.2017, 13:49  [ТС] 33
woldemas, спасибо, все решилось. Респект Вам
0
12.09.2017, 13:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2017, 13:49
Помогаю со студенческими работами здесь

Суммирование рядов
Даны a и b. Определить: Z=\sum_{i=1}^{10}a^i(2i+1)+\sum_{k=4}^{15}b^{k+2}

Сосчитать сколько рядов
Если в скобках указана команда или переменная, тогда их обязательно надо использовать при...

Суммирование числовых рядов.
Вычислить сумму ряда, состоящего из N слагаемых, и вывести результат с M знаками после запятой....

Сходимость рядов Фурье
Прошу помощи знающих людей, т.к. сам новичок в С++. Тема: Сходимость рядов Фурье Моя программа не...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru