Program:
#include
#include
#include
#define f(x)
sqrt(sin(x))
#define pi
3.1415926
#include
void main()
{
clrscr();
float a,b,h,
fa, fb, I,fx[10];
float
sum=0.0,sum1=0.0,sum2=0.0,fn;
char k;
int c,n,i;
a=0;
b=pi/2;
fa=f(a);
fb=f(b);
do{
clrscr();
printf("\n
1) Trapezoidal\n 2) Comp.Trapezoidal\n 3) Simpson's 1/3\n 4) Comp.simpson's
1/3\n 5) Simpson's 3/8\n 6) Boole's\n 7) Comparison Table");
printf("\nENTER
YOUR CHIOICE:");
scanf("%d",&c);
switch(c)
{
case 1:
printf("\n\tTrapizoidal");
h=b-a;
I=h*((fa+fb)/2);
printf("\n\tThe
result is %.4f",I);
break;
case 2:
printf("\n\tComposite
trapezoidal:");
printf("\n\tEnter
n:");
scanf("%d",&n);
h=(b-a)/n;
for(i=1;i<=n-1;i++)
{
fx[i]=f(a+i*h);
sum=sum+fx[i];
}
fn=f(a+n*h);
I=(h/2)*(fa+2*sum+fn);
printf("\n\tThe
result is: %.4f",I);
break;
case 3:
printf("\n\tSimpson's
1/3");
h=(b-a)/2;
fx[1]=f(a+h);
I=(h/3)*(fa+4*fx[1]+fb);
printf("\n\tThe
result is: %.4f",I);
break;
case 4:
printf("\n\tComposite
Simpson's 1/3:");
printf("\n\t
Enter n:");
scanf("%d",&n);
h=(b-a)/n;
for(i=1;i<=(n/2);i++)
{
fx[i]=f(a+(2*i-1)*h);
sum1=sum1+fx[i];
}
for(i=1;i<=((n/2)-1);i++)
{
fx[i]=f(a+2*i*h);
sum2=sum2+fx[i];
}
I=(h/3)*(fa+4*sum1+2*sum2+fb);
printf("\n\tThe
result is: %.4f",I);
break;
case 5:
printf("\n\tSimpson's
3/8");
h=(b-a)/3;
for(i=1;i<=2;i++)
{
fx[i]=f(a+i*h);
sum=sum+fx[i];
}
I=(3*h/8)*(fa+3*sum+fb);
printf("\n\tThe
result is: %.4f",I);
break;
case 6:
printf("\n\tBoole's
Rule:");
h=(b-a)/4;
for(i=1;i<=3;i++)
{
fx[i]=f(a+i*h);
}
I=(2*h/45)*(7*fa+32*fx[1]+12*fx[2]+32*fx[3]+7*fb);
printf("\n\tThe
result is: %.4f",I);
break;
case 7:
printf("\n\t
RULE \t n\t RESULT");
printf("\n\t
TRAPEZOIDAL\t 1\t0.78540");
printf("\n\t
COMP. TRAPEZOIDAL\t 2\t1.05314");
printf("\n\t
SIMPSON's 1/3\t 2\t1.14238");
printf("\n\t
COMP. SIMPSON's 1/3\t 4\t1.17823");
printf("\n\t
SIMPSON's 3/8\t 3\t1.16104");
printf("\n\t
BOOLE's RULE\t 4\t1.18062");
break;
default:
exit(0);
}
printf("\n\t
Continue??[y/n]");
k=getch();
}
while(k=='y'||k=='Y');
getch();
}

0 comments:
Post a Comment