Помогите найти ошибку /ms Visual C++

Тема в разделе "C/C++/C#", создана пользователем effreet, 16 янв 2010.

  1. effreet

    effreet Гость

    Помогите пожалуста найти ошибку. Программа у меня запускается, но считает не правильно. Заранее спасибо!
    Задание:
    Написать на языке СИ++ программу, вычисляющую функцию, представленную в виде ряда с заданной точностью e=0,001.
    __________.png


    Мой код:
    Код (C++):
    #include "iostream.h"
    #include "math.h"
    #include "conio.h"

    float exponentation (float base,float exponent){ // функция возведения в степень
    float a=base; // объявляем переменные
    float x=1;
    if(exponent==0) // проверка степени на 0
    {
    base=1;
    goto end;
    }
    for (x; x<exponent; x++)
    {
    base=base*a;
    }
    end:
    return (base); // функция возвращает значение
    }

    int main(){
    int maxiter=600; // максимальное кол-во итераций
    int n=0;
    float x, accuracy, numerator, denominator, prov, lnx; // объявляем переменные
    bool done=true; // переменная типа bool, задаем ей значение true
    begin: // метка
    cout <<"please, enter -1<=x<1"<< endl; // запрос на ввод икса
    cin>>x; // вводим аргумент
    if(fabs (x)>-1,(x)>=1) // проверка что Х>-1 и X>=1
    {
    cout <<"wrong x value"<< endl; // сообщение об ошибке
    goto begin;
    }
    cout <<"enter accuracy"<< endl;
    cin>>accuracy; // вводим точность
    lnx=0; // обнуляем переменную
    prov=1;
    for(n; fabs(prov)>accuracy; n++)
    {
    numerator = exponentation (x, n); // считаем числитель, вызывая функцию степень
    denominator = n; // знаменатель
    prov=numerator/denominator; // член ряда
    lnx+=-1*(numerator/denominator); // сумма
    if (n > maxiter) // проверка на кол-во итераций
    {
    cout<<"Divergence"<< endl; // сообщение о том, что ряд расходится
    done=false; // присвоение переменной значение false
    break; // прерывание цикла и переход к следующему оператору
    }
    }
    if(done)
    {
    cout <<" the natural logarithm of " << x << " = " << lnx << endl; // результат, высчитанный программой
    cout <<" using built-in function " << x << " = " << log(1-x) << endl; // результат, полученный с использованием встроенной функции
    cout <<" used " << n << " iterations " << endl; // кол-во использованных итераций
    }
    getch (); // ожидание ввода
    return 0;
    }
     
  2. effreet

    effreet Гость

    Все сам нашел ошибку)) закрывайте
     
Загрузка...
Похожие Темы - Помогите найти ошибку
  1. OlgaZag
    Ответов:
    1
    Просмотров:
    1.292
  2. OlgaZag
    Ответов:
    0
    Просмотров:
    524
  3. Google313
    Ответов:
    0
    Просмотров:
    1.000
  4. Marikd
    Ответов:
    2
    Просмотров:
    1.210
  5. ruivit
    Ответов:
    2
    Просмотров:
    1.329

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