Посчитать определенный интеграл функции методом правых прямоугольников

Есть функция и нужно найти её приближенный интеграл методом правых прямоугольников на с++ вот сама функция:

введите сюда описание изображения

x∈[-1;1]

Попробовал написать код по информации которую нашел на ютубе, но код не рабочий

#include <iostream>
#include <cmath>
using namespace std;

float f(double x, double t){
    return pow(t,2)*asin(x*t);
}


int main() {
    int t, n;
    float sum = 0.0,h;
    n = 1;
    cout << "Введите t:\n";
    cin >> t;
    h = 1.0/20;
    for(double i = -1; i <= n; i+=1){
        sum += f(i,t) * h;
    }
    cout << sum;
    return 0;
}

Помогите написать корректное решение данной задачи.
Заранее спасибо.


Ответы (1 шт):

Автор решения: Harry

Да тут же делать нечего!

double f(double x, double t)
{
    return t*t*asin(t*x);
}

double y(double x)
{
    const int n = 1000;  // Решайте сами...
    double h = 1.0/n;
    double sum = 0;
    for(int i = 1; i <= n; ++i)
        sum += f(x,i*h);
    return sum*h;
}

При n=1000 для x = 0.5 получается 0.1291 при точном значении 0.1288.

→ Ссылка