#include #include float valueFx(float x); float areaCurve(int a,int b,float deltaX); int main() { int a = -2,b=2; //printf("Enter the boundary values : a,b "); //scanf("%d,%d",&a,&b); float delX = 0.001; printf("Area of curve : %f \n",areaCurve(a,b,delX)); printf("Area of broken curve : %f \n", areaCurve(a,-1,delX) + areaCurve(-1,1,delX) + areaCurve(1,b,delX) ); return 0; } float valueFx(float x) { if(x<=-1) return 1.0; if(x>=1) return x*x - x + 1; if(x> -1 && x<1) return x*x*x; } float areaCurve(int a,int b,float deltaX) { float lowX = a,highX = a + deltaX,area = 0.0; while(highX <= b) { //printf("lowX : %f HighX : %f \n",lowX,highX); if(lowX < -1 && highX > -1) { //printf("HOw : lowX : %f HighX : %f \n",lowX,highX); area += (-1 - lowX) * fabs(valueFx(lowX)) + (highX - (-1)) * fabs(valueFx(-1)); } if(lowX < 1 && highX > 1) { //printf("HOw : lowX : %f HighX : %f \n",lowX,highX); area += (1 - lowX) * fabs(valueFx(lowX)) + (highX - 1) * fabs(valueFx(1)); } area += (highX-lowX)*fabs(valueFx(lowX)); lowX = highX; highX = highX + deltaX; } if(lowX < b && highX > b) { area += (b-lowX)*fabs(valueFx(lowX)); } return area; }