📄 jifen.cpp
字号:
#include<iostream.h>
#include<math.h>
class Simpson
{
double Intevalue,a,b,n;
public:
virtual double fun(double x)=0;
Simpson(double ra=0,double rb=0,double rn=100)
{
a=ra,b=rb;
Intevalue=0;
n=rn;
}
void Integrate()
{
double dx;int i;
dx=(b-a)/n;
Intevalue=fun(a)+fun(b);
for(i=1;i<n;i+=2)
Intevalue+=4*fun(a+dx*i);
for(i=2;i<n;i+=2)
Intevalue+=2*fun(a+dx*i);
Intevalue*=dx/3;
}
void print()
{
cout<<"积分值="<<Intevalue<<endl;
}
};
class A:public Simpson
{
public:
A(double ra,double rb,int rn):Simpson(ra,rb,rn){}
double fun(double x){return sin(x);}
};
class B:public Simpson
{
public:
B(double ra,double rb,int rn):Simpson(ra,rb,rn){}
double fun(double x){return exp(x);}
};
void jifen()
{
cout<<"m为上限,n为下限,q为积分区间等分份数!"<<endl;
cout<<"输入相应的m、n、q的值:";
int m,n,q;
cin>>m>>n>>q;
A a1(m,n,q);
Simpson *s=&a1;
s->Integrate();
s->print();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -