C++ //习题 6.13 写一个用矩形法求定积分的通用函数,分别求。。。
2023-12-17 11:37:11
C++程序设计 (第三版) 谭浩强 习题6.13
习题 6.13 写一个用矩形法求定积分的通用函数,分别求 ∫ 0 1 s i n ? d x \int_{0}^{1} sin\ dx ∫01?sin?dx, ∫ ? 1 1 c o s ? d x \int_{-1}^{1}cos\ dx ∫?11?cos?dx, ∫ 0 2 e x ? d x \int_{0}^{2}e^x\ dx ∫02?ex?dx(说明:sin,cos,exp已在系统的数学函数库中,程序开头要用#include<cmath>)。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
?
代码块
方法:使用函数指针,函数的模块化设计
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double definiteIntegral(int a, int b, double (*fun)(double)){
double sum = 0.0;
double dx = (double)(b - a) / 100000;
for(double i = a; i < b; i += dx){
sum += (*fun)(i) * dx;
}
return sum;
}
int main(){
cout<<setiosflags(ios::fixed)<<setprecision(2);
cout<<"Integral_{0}^{1} sin dx = "<<definiteIntegral(0, 1, sin)<<endl;
cout<<"Integral_{-1}^{1} cos dx = "<<definiteIntegral(-1, 1, cos)<<endl;
cout<<"Integral_{0}^{2} exp dx = "<<definiteIntegral(0, 2, exp)<<endl;
system("pause");
return 0;
}
文章来源:https://blog.csdn.net/navicheung/article/details/135041849
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!