f0610.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:
C#编程
开发平台:
Visual C++
- //==================================
- // f0610.cpp
- // 矩形积分
- //==================================
- #include<iostream>
- #include<fstream>
- #include<cmath>
- using namespace std;
- //----------------------------------
- double g(double x){
- return 1/x;
- }//---------------------------------
- double rectangle(double a, double b, double(*f)(double)){
- double w=b-a, sumNew=w*(f(a)+f(b))/2, sumOld=0;
- for(int n=1; abs(sumNew-sumOld)>=1e-4; n*=2){
- sumOld=sumNew;
- sumNew=0;
- for(int i=0; i<n; ++i)
- sumNew += f(a + w*(i+0.5)/n);
- sumNew *= w/n;
- }
- return sumNew;
- }//---------------------------------
- int main(){
- ifstream in("integral.txt");
- cout<<fixed; cout.precision(3);
- for(double b; in>>b; )
- cout<<rectangle(1,b,g)<<"n";
- }//=================================