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

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

Войти
Регистрация
Восстановить пароль
 
Alexxxxxx
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 17
#1

Найти количество итераций при подсчете суммы ряда - C++

08.11.2013, 19:57. Просмотров 656. Ответов 5
Метки нет (Все метки)

Найти количество итераций при подсчете суммы ряда до того , как n-ый член суммы будет меньше 0,00001
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
#include <conio>
#include <iostream>
using namespace std;
double User_pow(double number,  int exp);
//-------------------------------------------------------------------------------------------
int main()
{
double An , x;               // An - ÷ëåГ* ñóììû ðÿäГ*
int n,k,count;
        cout << "Enter x : ";
        cin >> x;
        while ( An > 0.0001)
        {
                for (n=1 ; n <= n+1 ; n++ )
                {
                        An =(User_pow(-1.0, n-1.0)*User_pow(x,2.0*n-1))/(User_pow(4.0,n)*(2.0*n-1));
                        count++;
                }
                cout << "count = " << count << endl;
        }
        getch();
        return 0;
}
//-------------------------------------------------------------------------------------------
double User_pow(double number, int exp)
{
    double result;
    if (exp == 0)
    {
        return 1;
    }
    result = number;
    for ( int i = 1; i < exp; i++)
    {
        result *= number; 
    }
    return result;
}
но не получается правильно сделать подсчёт. где ошибки?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2013, 19:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти количество итераций при подсчете суммы ряда (C++):

Найти ошибку при подсчете суммы ряда - C++
Помогите найти ошибку, выдает неправильный результат. Задан массив z(m). Посчитать: #include &lt;iostream&gt; #include &lt;cmath&gt; ...

Подсчитать сумму ряда с введенной точностью ε и количество выполненных итераций - C++
Не получается найти количество выполненных итераций. Подскажите, пожалуйста, где тут ошибка ?# include &lt;iostream&gt; #include &lt;cmath&gt; ...

Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известно количество N членов ряда. - C++
Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известно количество N членов ряда. ...

Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известно количество N членов ряда. - C++
Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известно количество N членов ряда. Сума...

Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известно количество N членов ряда. - C++
Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известно количество N членов ряда. ...

Посчитать количество проведенных итераций (метод простых итераций, Pascal -> C++) - C++
перевести из паскаля в С++ program method_of_simple_iteration; uses crt; var a:array of real; b,c:array of real; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BigProgrammer
38 / 38 / 3
Регистрация: 20.07.2013
Сообщений: 105
08.11.2013, 22:13 #2
У вас несколько ошибок.
1) Неправильно организованы циклы. Обратите внимание на условие во внутреннем цикле: n <= n+1. Этот цикл будет выполняться, пока n не будет равно максимальному возможному значению типа int. Тут нужен один цикл вместо двух.
2) Не инициализирована переменная An перед циклом.
3) Поскольку мы считаем сумму ряда, в 16 строке должно быть "An +=" вместо "An =".
0
Alexxxxxx
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 17
08.11.2013, 22:19  [ТС] #3
Цитата Сообщение от BigProgrammer Посмотреть сообщение
3) Поскольку мы считаем сумму ряда, в 16 строке должно быть "An +=" вместо "An =".
тут не столько сумму ряда подсчитать , сколько нужно найти верхний предел
сумма ряда Sn = A1+A2+...+An , нужно подсчитать до того как An не будет меньше 0,0001 , которое можно будет отбросить в итоге. ну как то так . я и пытаюсь считать при каждом n это An чтобы узнать тот предел
0
BigProgrammer
38 / 38 / 3
Регистрация: 20.07.2013
Сообщений: 105
08.11.2013, 22:25 #4
Да, извините, невнимательно прочитал задание. Но остаются первые две ошибки.
0
Alexxxxxx
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 17
08.11.2013, 22:29  [ТС] #5
как ци кл правильно организовать? а то вообще уже не знаю что тут изменить можно
0
BigProgrammer
38 / 38 / 3
Регистрация: 20.07.2013
Сообщений: 105
09.11.2013, 21:59 #6
Цитата Сообщение от Alexxxxxx Посмотреть сообщение
как ци кл правильно организовать? а то вообще уже не знаю что тут изменить можно
То есть вы не поняли, почему ваша программа не работает? Я ведь описал ошибки. Могу объяснить подробнее, если что-то непонятно. Ещё можете прогнать программу пошагово через отладчик, наблюдая переменные, тогда будет видно нагляднее, почему программа работает неправильно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2013, 21:59
Привет! Вот еще темы с ответами:

Найти корень уравнения и количество итераций - C++
Найти корень уравнения, но нужно ещё количество итераций, не получается! #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; ...

Расчет суммы денег, которые вы получите при вложении начальной суммы с фиксированной процентной ставкой дохода через определенное количество лет - C++
Написать программу, рассчитывающую сумму денег,которые вы получите при вложении начальной суммы с фиксированной процентной ставкой дохода...

Найти значение суммы ряда - C++
Здравствуйте! Мне нужно просто написать программу на C++ ...

Выводит #infoo при подсчёте суммы ряда - C++
Если я ввожу &quot;x&quot; очень большой(100 например), то программа не работает выводя кучу строк подряд что-то типа #infoo. При этом &quot;e&quot; может быть...


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

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

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