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

Cумма последовательности чисел, помогите найти ошибку! - C++

Восстановить пароль Регистрация
 
Kushak
Сообщений: n/a
05.10.2011, 17:54     Cумма последовательности чисел, помогите найти ошибку! #1
Дана последовательность 2x/1!-(3x^2)/2!+(4x^3)/3!-(5x^4)/4!+....... Нужно найти значение суммы, последнее число ряда и число слагаемых. И дана контрольная формула(x*e^(-x)-e^x+1, значение которой должно быть приблизительно равно значению суммы.
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
#include <stdio.h>
#include <iomanip> 
#include <math.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
using namespace std;
void main()
{
    cout<<"Vvedite x "<<endl;
    int cis,i;
    int zn;
    double c,x,s,sum,E=0.0001;
    cin>>x;
    i=1;
    cis=2;
    zn=1;
    c=x;
    sum=2*x;
    while (fabs(sum)>E)
    {
        i++;
        cis++;
        c*=-x;
        zn*=i;
        s=(cis*c)/zn;
        sum+=s;
    }
    cout<<"summa= "<<setprecision(10)<<sum<<endl;
    cout<<"Poslednie chislo= "<<setprecision(15)<<s<<endl;
    cout<<"Vsego chisel= "<<setprecision(15)<<(cis-1)<<endl;
    cout<<"Konrol. Formula= "<<setprecision(15)<<x*exp(-x)-exp(x)+1;
_getch();
}
Экран выполнения:
Vvedite x
4
summa= -1.#IND
Poslednie chislo= 1.#INF
Vsego chisel= 35
Konrol. Formula= -53.5248874775893

Почему выводит вместо нормального числа -1.#IND и 1.#INF ? Мб нужно Х вводить из какогото определённого диапазона или где-то в коде ошибся? Помогите пожалуйста, программа вроде не сложная, но что-то никак не получается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2011, 17:54     Cумма последовательности чисел, помогите найти ошибку!
Посмотрите здесь:

Дана последовательность чисел. Найти количество различных чисел в этой последовательности C++
Дана последовательность чисел. Найти количество различных чисел в этой последовательности C++
Помогите написать программу по последовательности чисел, не пойму смысл задачи C++
C++ Помогите найти ошибку в программе (Сгенерировать 10 случайных чисел в интервале 14 – 23)
C++ из трех чисел определить максимальное, ПомоГите исправить ошибку
C++ Найти ошибку (max и min последовательности)
C++ Помогите найти ошибку: По двум сторонам и углу найти все остальное

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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