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

Сумма ряда до точность E - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
08.10.2012, 18:26     Сумма ряда до точность E #1
Четвёртый член ряда равен 0.001411 (можете проверить запустив программу)
Вопрос: почему не срабатывает строчка (последняя) if(E<b) printf("Sum ryada do tochnosty %f ravna: %f\n", E, w); Когда 0.0001<0.001411?

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
41
42
43
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
 
int function();
 
int main()
{
    int factor, count, n, q, sum;
    float x;
    double y, z, w;
    double b;
    float E; //это наша точность
    E = 0.0001;
    w = 0; // для подсчёта суммы ряда
        x = 2
 
    for(n=1;n<=5;n++) {
    y = pow(x, 2*n+1);
    z = pow(-1.0, n);
    printf("y: %.0f\nz: %.0f\n", y, z);
 
    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;
    printf("%f\n\n", b);
 
    w = b+w;
 
    if (n==5) cout << w << '\n';
    }
 
    if(E<b) printf("Sum ryada do tochnosty %f ravna: %f\n", E, w);
    
 
 
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 18:26     Сумма ряда до точность E
Посмотрите здесь:

C++ сумма ряда
сумма ряда C++
Сумма ряда C++
Сумма ряда C++
сумма ряда C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
09.10.2012, 09:20  [ТС]     Сумма ряда до точность E #21
Цитата Сообщение от Nixy Посмотреть сообщение
что очень важно опять же для Borland C++ 4.5 из источника , у меня Embarcadero RAD Studio XE 2 2010 года стандарты меняются, и каким то образом возможность хранить еще меньшие значения получается, мне эти шаманства не ведомы, но тем не менее , для вашей задачи , такая ошибка не играет роли, обычно берут несколько первых членов ряда, 4-6 остальные уже мало влияют на ситуацию, поэтому ошибка порядка малости 4-6 вполне допустимы, не надо считать машиный 0, это я просто для примера привел

почитай википедию там пишут про диапазон , я не вчитывался , но то что тебя интересует там вроде есть
Ссылка не открывается, если можно, то просто набором букв продублируйте
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2012, 12:42     Сумма ряда до точность E
Еще ссылки по теме:

Сумма ряда C++
C++ Вычисление функции прекратить, если достигнута заданная точность e, либо взято в разложении ряда m членов
Сумма ряда C++

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

Или воспользуйтесь поиском по форуму:
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
09.10.2012, 12:42     Сумма ряда до точность E #22
Кликните здесь для просмотра всего текста
Диапазон чисел, представимых в формате с плавающей запятой

Диапазон чисел, которые можно записать данным способом, зависит от количества бит, отведённых для представления мантиссы и показателя. На обычной 32-битной вычислительной машине, использующей двойную точность (64 бита), мантисса составляет 1 бит знак + 52 бита, показатель — 1 бит знак + 10 бит. Таким образом получаем диапазон точности примерно от 4,94·10−324 до 1.79·10308 (от 2−52 × 2−1022 до ~1 × 21024).
Yandex
Объявления
09.10.2012, 12:42     Сумма ряда до точность E
Ответ Создать тему
Опции темы

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