Вывод: -1.#ind

Тема в разделе "Общие вопросы по С и С++", создана пользователем Michel, 8 авг 2006.

Статус темы:
Закрыта.
  1. Michel

    Michel Гость

    Всем добрый! С++ только начинаю. Вот выдрал из программы кусок и оформил в самостоятельную. При вводе на запрос х = 1 сообщение -1.#IND. И только на ввод ноля выдает 0. На самом деле, если я не ошибаюсь, это разложение в ряд фунцкии sin(2x). При уменьшении счетчика n результат выдает, но неправильный. Что это значит?
    На самом деле потом будет цикл не for, а while и до нужной погрешности.
    Вот листинг:
    #include "stdafx.h"
    #include "math.h"
    #include "iostream.h"
    #include "stdio.h"



    long fact(int n);

    int main(int argc, char* argv[])
    {
    double x;
    double t = 0;
    //cout<<Fsin(0,1);
    cout<<"Vvedite x: ";
    cin>>x;
    cout<<endl;
    for (int n =1;n<20;n++)
    t = t+ pow(-1,n-1)*pow(2*x,2*n-1)/fact(2*n-1);
    cout<<t;
    return 0;
    }


    long fact(int n)
    {
    int result;
    int i;
    i = 1;
    result = 1;
    do
    {
    result = result*i;
    i = i+1;
    }
    while(i<=n);
    return result;
    }

    Помогите, пожалуйста!
     
  2. sdriver

    sdriver Гость

    Отладь и просмотри значения переменных.
    while(-1<=-4);
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей