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

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

Войти
Регистрация
Восстановить пароль
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
#1

Сумма ряда чисел подсчёты - C++

08.10.2012, 17:06. Просмотров 895. Ответов 13
Метки нет (Все метки)

Когда подсчитываю сумму 1-го, второго, третьего и четвёртого ряда чисел, то всё правильно, а как доходит до 5-го(n=5), то его значение равняется -5.13067e-005(т.е. -5.13067*10-0.005). Когда это значение складываю с той суммой, которая получилось с 1-го по 4 ряд, то получается совсем другое число, а в программе -1.097(должно быть -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 <stdio.h>
#include <math.h>
using namespace std;
 
float w = 0;
 
int function();
 
int main()
{
    int factor, count, n, q, sum;
    double x;
    float y, z;
    double b;
    x = 2; //это число мы вводим сами
 
    for(n=1;n<=5;n++) {
    z = pow(-1.0, n);
    y = pow(x, 2*n+1);
    cout << y << '\n' << z << '\n';
 
 
    q = 2*n+1;
    factor=1;
    for(count=1;count<=q;count++) factor= factor*count;
    printf("Faktorial chisla %d raven %d\n", q, factor);
 
    b = z/factor*y;
    cout << b << "\n\n";
 
    w = b+w;
 
    if (n==5) cout << w << '\n';
    }
 
 
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 17:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сумма ряда чисел подсчёты (C++):

Сумма ряда чисел - C++
Помогите разобраться, почему в конце, когда я вывожу if (n==5) cout &lt;&lt; w &lt;&lt; '\n'; то у меня постоянно одно и тоже значение независимо от...

Директива #define для нахождения наименьшего из двух чисел. Сумма ряда - C++
помогите решить Даны целые числа а и b. Используя директиву #define для нахождения наименьшего из двух чисел, вычислить значение ...

составить алгоритм инвертирования ряда чисел , т.е. записи всех чисел заданного ряда в обратном порядке - C++
:cry:

Сумма ряда - C++
Извиняюсь за такую глупость) но сильно туплю насчет этого: #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; ...

сумма ряда - C++
Используя функцию, написать программу Написать функцию вычисления суммы ряда s=s(1)+…+s(n), где s(n)=(-1)^n...

сумма ряда - C++
Вычислить значение функции при помощи суммы ряда с точностью e. Сравнить полученное значение суммы с результатом вычисления стандартной...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.10.2012, 17:10 #2
-5.13067e-005(т.е. -5.13067*10-0.005)
вы не верно растолковали е-005 ,это 10-5, поэтому программа все корректно выводит
doctor_lecter
280 / 153 / 8
Регистрация: 22.09.2012
Сообщений: 283
08.10.2012, 17:11 #3
возможно при n=5 значение становится больше чем максимальный float


я тут ошибся
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.10.2012, 17:16 #4
Цитата Сообщение от doctor_lecter Посмотреть сообщение
возможно при n=5 значение становится больше чем максимальный float
нет, там все нормально , я думаю ТС решил что если промежуточное число -5*10^-5 то оно должно дать вес еслиб 10^0 тоесть просто -5
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
08.10.2012, 17:19  [ТС] #5
Цитата Сообщение от Nixy Посмотреть сообщение
нет, там все нормально , я думаю ТС решил что если промежуточное число -5*10^-5 то оно должно дать вес еслиб 10^0 тоесть просто -5
Мне вчера на форуме просто объясняли, что число 5.13067e-005 это есть 5.13067*10-0.005. Я взял это за истину и сегодня при подсчётах у меня вот такие вот несостыковки. Как всё-таки получается считать число 5.13067e-005?
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.10.2012, 17:26 #6
Цитата Сообщение от aleksand Посмотреть сообщение
Мне вчера на форуме просто объясняли, что число 5.13067e-005 это есть 5.13067*10-0.005. Я взял это за истину и сегодня при подсчётах у меня вот такие вот несостыковки. Как всё-таки получается считать число 5.13067e-005?
0,0000513607
можете сами проерить отдельно посчитав и сложив с 1 например
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
08.10.2012, 17:37  [ТС] #7
Да проверял уже)) Калькулятор всегда под рукой. Но объясните мне тогда пожалуйста, как вы узнали что число e-005 это 10*-5?
Catstail
Модератор
22537 / 10942 / 1774
Регистрация: 12.02.2012
Сообщений: 18,078
08.10.2012, 17:40 #8
Цитата Сообщение от aleksand Посмотреть сообщение
-5.13067e-005(т.е. -5.13067*10-0.005)
ты неправ. Правильно -5.13067*10-5
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.10.2012, 17:41 #9
ну просто я чуть больше занимаюсь разработкой на с++ , и знаю про то как выводятся числа , и что означает е-005 ) , теперь ведь и Вы знаете про это )
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
08.10.2012, 17:46  [ТС] #10
Цитата Сообщение от Nixy Посмотреть сообщение
ну просто я чуть больше занимаюсь разработкой на с++ , и знаю про то как выводятся числа , и что означает е-005 ) , теперь ведь и Вы знаете про это )
Мне просто не понятно как вы нашли это число. Я не врубаюсь просто. К примеру чему будет равно число 3.4е-38? (здесь будет 3.4*не могу понять на что)
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.10.2012, 17:49 #11
3.4*10-38
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
08.10.2012, 17:53  [ТС] #12
Цитата Сообщение от Nixy Посмотреть сообщение
3.4*10-38
Кажется я въехал как надо. Чисто для теста: число 3.4e-099 это есть 3.4*10-99?
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
08.10.2012, 17:55 #13
Цитата Сообщение от aleksand Посмотреть сообщение
Кажется я въехал как надо. Чисто для теста: число 3.4e-099 это есть 3.4*10-99?
Все верно, вот нашел можете ознакомится
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
08.10.2012, 18:01  [ТС] #14
Цитата Сообщение от Nixy Посмотреть сообщение
Все верно, вот нашел можете ознакомится
Спасибо огромное, теперь разобрался =)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 18:01
Привет! Вот еще темы с ответами:

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

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

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

сумма ряда - C++
Написал прогу для нахождения суммы . Для точности 0.1 0.01 работает а дальше нет ! Почему ? #include&lt;iostream.h&gt; #include&lt;math.h&gt; ...


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

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

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