Привет! Я слежу за учебным пособием и видео, которые я нашел в Интернете. Я пытаюсь создать шаблон для предварительной числовой интеграции функции, где пользователь может решить, какую форму интеграции выполнять, я пытаюсь сохранить его в одном файле.так как не использовать заголовки и не использовать огромное количество циклов, код для первой интеграции прекрасно работает сам по себе, но когда я запускаю его через шаблон, я получаю неправильный ответ и то же значение 1.9147e-307 для каждого ввода, что яя делаю не так?
#include <iostream>
#include <cmath>
#include <ctime>
#include <cstdlib>
#include<conio.h>
using namespace std;
//declared function
double F(double X)
{
double f;
f = (X*X);
return f;
};
double unifRand()
{
return rand() / double(RAND_MAX);
};
template<typename T> class INTG{
private:
T a;
T b;
T n;
public:
INTG(T a, T b,T n){
INTG::a = a;
INTG::b = b;
}
~INTG(){}
T MC() {
// some code
return ans;}
T SIMPC(){ // Simpson integration code here
return a+b+n;
}
};
int main() {
double a,b,mc,simp,ans;
int OP,n;
cout<<"Enter 1 for Monte Carlo Integration , Enter 2 for Composite Simpson Integration, enter 3 for trapezoidal int...."<<endl;
cin>>OP;
clock_t start = clock();
if (OP == 1) {
cout<<"Enter lower limit of integration"<<endl;
cin>>a;
cout<<"Enter upper limit of integration"<<endl;
cin>>b;
cout<<"Enter number of iterations"<<endl;
cin>>n;
ans = INTG<double>::MC(a, b, n);
INTG<double> MyCalc(a,b,n);
cout<< ans <<endl;
//mc = INTG::MC(a, b, n);
getch();
}
}