Как дописать программу что бы она правильно считала по методу левых прямоугольников?

Как дописать программу что бы она правильно считала по методу левых прямоугольников?
#include<iostream>
#include<cmath>
using namespace std;
****** fc(****** x)
{
    return x*atan(x);
}
 
****** fc2(****** x)
{
    return ((1)/(2+cos(x)*(3+cos(x))));
}
****** FH(****** a, ****** b, int n, ****** (*f)(****** x))
{
    ****** x=a, h=(b-a)/n,s=;
    for(int i=1;i<n; i++)
    {
        s=+f(x);
        x+=h;
    }
    
    return s*h;
}
int main()
{
cout<<FH(0,sqrt(3),100,fc)<<endl;
cout<<FH(0,2*M_PI,200,fc2)<<endl;
return 0;
}
6 ответов

FH оно?
****** FH(****** a, ****** b, int n, ****** (*f)(****** x))
{
    ****** x=a, h=(b-a)/n,s=0;
    for(int i=0;i<n; i++)
    {
        s=+f(x);
        x+=h;
    }
    
    return s*h;
}


Все равно неверно считает.


как определили? ну и (1.7-0)/100, (6.28-0)/200 наверно маловато отрезков


Ну вот например как первый пример должен считаться и как считается.


s=+f(x);
оба хороши, с плюсом все нормально?


ха, да точно, спасибо!