#include <stdio.h> #include <conio.h> #include <math.h>#define f(x) (1/x) //use macros to define the integrand//#define f(x) ((x)*(x)*sin(x)) //#define f(x) ((x)*(x)*Exp(2*(x))) //uncoment to change integranddouble calcAreaTrap(double a1, double b1){ //function calculates the area of trapezoid of height b1-a1 , and the center line f((a1+b1)/2).return (b1-a1)*(f(a1)+f(b1))/2;} // or this function return the approximation value between two end points a1 and b1 , based on the trapezoid methoddouble calcArea(double A, double B,int N) // this function will return approximation value between two end points,a and b, based on the method specified by flag{ double buf = 0; // Declaration and initialization of the auxiliary variable tha will be contain approximation value between two points , a and b double h = (B-A)/N; //Declaration and initialization of the auxiliary variable tha will be contain value of space step , h = b1-a1 //this part will calculate approximation value between two end points for (int i =0;i<N;i++) { buf=buf+calcAreaTrap(A+i*h,A+i*h+h); } return buf;}void OutPut(double Area){ //this function type on the screen area's value printf("The integral's value is : %f", Area); }int main(int argc, char *argv[]){OutPut(calcArea(1,3,1000));// by using all define function program will calculate and output approximated value of the integral of the function f(x) tha define in head by macros in interval (0;3) with space step 0.03getch();return 0;}
Comments