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

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

Войти
Регистрация
Восстановить пароль
 
Kushak
Сообщений: n/a
#1

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

05.10.2011, 17:54. Просмотров 377. Ответов 0
Метки нет (Все метки)

Дана последовательность 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умма последовательности чисел, помогите найти ошибку!
Посмотрите здесь:

Помогите найти ошибку в программе (Сгенерировать 10 случайных чисел в интервале 14 – 23) - C++
Сгенерировать 10 случайных чисел в интервале 14 – 23. что не так в программе? #include &lt;iostream&gt; #include &lt;ctime&gt; using...

из трех чисел определить максимальное, ПомоГите исправить ошибку - C++
#include &lt;iostream&gt; using namespace std; double MaxOfThree(double a, double b, double c, int max=0); void PrintMax(); void main() ...

Помогите найти ошибку. - C++
Задание с подпрограммой, которая упорно не хочет работать и я уже не знаю в чем ошибка.(Данные считываются из текстового файла) Даны...

ПОмогите найти ошибку - C++
Программа работает, но она выдаёт все строки одинаковые .А они должны быть разные. Вычислить m значений заданной функции f(x) на отрезке...

помогите найти ошибку - C++
#include &quot;../../header.h&quot; int main() { vector &lt;int&gt; nums(0); int num = 0; while (cin&gt;&gt;num, nums.size()&lt;2) ...

Помогите найти ошибку - C++
//Даны три положительных числа а, b, c. Проверить, могут ли они быть длинами сторон треугольника. Если да, то вычислить площадь этого...

помогите найти ошибку. - C++
Когда вводишь 0 или -20 например, ERROR не выдает,а что-то непонятное.почему? #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace...

Помогите найти ошибку - C++
Помогите, с этим кодом неправильно..(( proizv красным почерком #include &lt;iostream&gt; using namespace std; int main() { int ...

Помогите найти ошибку - C++
в чём здесь ошибка #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int main() { clrscr(); ...

Помогите найти ошибку - C++
Сегодня начал изучать c++ и не могу найти ошибку вот задача ...


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

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

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