Помогите пожалуйста найти ошибку в алгоритме

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

  1. Lotti

    Lotti Гость

    И снова здравствуйте)
    Как часть задачи, надо решить определенный интеграл методом симпсона. Но, к сожалению, он никак не хочет решаться правильно)) Хотя, в принципе функцию списывала с блок-схемы. Видимо неудачно списала, но ошибки найтти не могу(....Если не сложно, подскажите. что не так)
    Код (C++):
    DWORD WINAPI M_Simpsona(LPVOID N)
    {
    name* N1=(name*)N;
    ifstream in(N1->in);
    double a,b,eps;
    if(in.good())//считываем переменные и точность
    {
    in>>a;
    in>>b;
    in>>eps;
    in.close();
    }
    else
    return 0;
    double x,h,s1,s2,s3,s;
    int n,i;
    s2 = 1;
    h = 100;   
    s = f (100,a,b)+f (0,a,b);
    do
    {
    s3 = s2;
    h = h/2;
    s1 = 1;
    x = h;
    do
    {
    s1 = s1+2*f(x,a,b);
    x = x+2*h;
    }
    while (x<b);
    s = s+s1;
    s2 = (s+s1)*h/3;
    x = (s3-s2)/15;
    }
    while (x>eps);
    ofstream out(N1->out);
    out<<s;
    out.close();
    return 0;
    }
    double f(double x, double a, double b)
    {
    return ( sin(a*x) / (b+x*x) );
    }
    struct name
    {
    char* in;//имя входного файла
    char* out;//имя выходного файла

    };
    вставить изображение блок-схемы я не смогла( подскажите пожалуйста, как это делается).....а пока вот, вроде бы получилось загрузить....
    Посмотреть вложение ______________.doc

    Подскажите пожалуйста, в каком место я ошибоась) Зарание спасибо)
     
  2. Lotti

    Lotti Гость

    Такой маленький? :) Спасибо большое))
     
Загрузка...
Похожие Темы - Помогите пожалуйста найти
  1. OlgaZag
    Ответов:
    1
    Просмотров:
    1.291
  2. OlgaZag
    Ответов:
    0
    Просмотров:
    523
  3. Lizzz
    Ответов:
    3
    Просмотров:
    1.381
  4. Oleg333
    Ответов:
    0
    Просмотров:
    1.336
  5. limbra
    Ответов:
    3
    Просмотров:
    43

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