#include <stdio.h>
#include <math.h>
//Function: x in terms of y
typedef double (*DFD) (double);
double f (double y)
{
double A,B,W,H,x = 0.0;
W=8;
H=4;
A=W/2;
B=H/2;
return x;
}
//Integrating the function -> Area
double trapezoidal_int (DFD f ,double a, double b, int n){
double y, dy, sum;
int i=0;
dy = (b-a)/ n;
sum = 0.0;
y = b + dy;
for (i=1; i < n; i++, y += dy)
sum += f(y);
return 2 * sum * dy;
}
int main (){
double Volume, Len,Height,Width,Area,i,a,b;
printf ("Enter the width of the tank(in m):\n");
printf ("Enter the heigth of the tank(in m):\n");
printf ("Enter the length of the tank (in m):\n");
for (i=10; i<=Height*100; i=i+10)
{
DFD my_func =&f;
b=i/100;
Area = trapezoidal_int (my_func,a,b,100);
Volume = Area * Len;
printf ("Depth %.0lf cm: Volume %.6lf cubic metres",i
,Volume
); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgovL0Z1bmN0aW9uOiB4IGluIHRlcm1zIG9mIHkKdHlwZWRlZiBkb3VibGUgKCpERkQpIChkb3VibGUpOwoKCmRvdWJsZSBmIChkb3VibGUgeSkKewpkb3VibGUgQSxCLFcsSCx4ID0gMC4wOwpXPTg7Ckg9NDsKQT1XLzI7CkI9SC8yOwoKeCA9IGZhYnMgKHNxcnQgKHBvdyhBLDIpKiAoMS0gKHBvdyh5LDIpL3BvdyAoQiwyKSkpKSk7CnJldHVybiB4Owp9CgovL0ludGVncmF0aW5nIHRoZSBmdW5jdGlvbiAtPiBBcmVhCgoKZG91YmxlIHRyYXBlem9pZGFsX2ludCAoREZEIGYgLGRvdWJsZSBhLCBkb3VibGUgYiwgaW50IG4pewoKZG91YmxlIHksIGR5LCBzdW07CmludCBpPTA7CmR5ID0gKGItYSkvIG47CnN1bSA9IDAuMDsKeSA9IGIgKyBkeTsKZm9yIChpPTE7IGkgPCBuOyBpKyssIHkgKz0gZHkpCnN1bSArPSBmKHkpOwpyZXR1cm4gMiAqIHN1bSAqIGR5Owp9CgoKaW50IG1haW4gKCl7CmRvdWJsZSBWb2x1bWUsIExlbixIZWlnaHQsV2lkdGgsQXJlYSxpLGEsYjsKcHJpbnRmICgiRW50ZXIgdGhlIHdpZHRoIG9mIHRoZSB0YW5rKGluIG0pOlxuIik7CnNjYW5mICgiJWxmIiwmV2lkdGgpOwoKcHJpbnRmICgiRW50ZXIgdGhlIGhlaWd0aCBvZiB0aGUgdGFuayhpbiBtKTpcbiIpOwpzY2FuZiAoIiVsZiIsJkhlaWdodCk7CgpwcmludGYgKCJFbnRlciB0aGUgbGVuZ3RoIG9mIHRoZSB0YW5rIChpbiBtKTpcbiIpOwpzY2FuZiAoIiVsZiIsJkxlbik7CgpwcmludGYgKCJcbiIpOwoKZm9yIChpPTEwOyBpPD1IZWlnaHQqMTAwOyBpPWkrMTApCnsKREZEIG15X2Z1bmMgPSZmOwpiPWkvMTAwOwpBcmVhID0gdHJhcGV6b2lkYWxfaW50IChteV9mdW5jLGEsYiwxMDApOwpWb2x1bWUgPSBBcmVhICogTGVuOwpwcmludGYgKCJEZXB0aCAlLjBsZiBjbTogVm9sdW1lICUuNmxmIGN1YmljIG1ldHJlcyIsaSxWb2x1bWUpOwpwcmludGYgKCJcbiIpOwp9CnJldHVybiAwOwp9Cgo=