1.
Bisection Method
#include <stdio.h>
#include <stdlib.h> #include
<math.h> #define f(x)
((x*x*x)-18) int main(){
float x0=0,x1=0,error=0,m,prevm; int i=0;
printf("Input Interval:");
scanf("%f %f",&x0,&x1);
if((f(x0)*f(x1))>0){
printf("Invalid Interval Exit!");
exit(1);
}
else if(f(x0)==0 || f(x1)==0){
printf("Root is one of interval bounds. Root is %f\n",f(x0)==0?x0:x1); exit(0);
}
do{
prevm=m; m=(x0+x1)/2;
printf("iter=%2d x0=%4.6f x1=%4.6f m=%4.6f f(x0)=%4.6f f(x1)=%4.6f f(m)%4.6f
",i++,x0,x1,m,f(x0),f(x1),f(m));
if(f(m)==0){
printf("Root is %4.6f\n",m);
}
else if ((f(x0)*f(m))<0){ x1=m;
}
else
x0=m;
error=fabs(m-prevm); if(i==1){
printf(" ----- \n");
}else printf("err = %4.6f\n",error);
}while(error>0.00005); printf("Approximate
Root is %4.6f",m); return 0;
}
Output:
2. FALSE POSITION
#include <stdio.h>
#include <stdlib.h>
#include <math.h> #define
f(x) ((x*x*x)-18) int main()
{
float a=0,b=0,error=0,c,cold; int
i=0;
printf("Input Interval: ");
scanf("%f %f",&a,&b);
if((f(a)*f(b))>0){
printf("Invalid Interval Exit!");
exit(1);
}
else if(f(a)==0 || f(b)==0){
printf("Root is one of interval bounds. Root is %f\n",f(a)==0?a:b); exit(0);
}
printf("Ite\ta\t\tb\t\tc\t \tf(a)\t \tf(b)\t\t f(c)\t error\n"); do{
cold=c;
c=(((a*f(b))-(b*f(a)))/(f(b)-f(a)));
printf("%2d\t%4.6f\t%4.6f\t%4.6f\t%4.6f\t%4.6f\t%4.6f",i++,a,b,c,f(a),f(b),f(c)); if(f(c)==0){
break;
}else if(f(a)*f(c)<0){ b=c;
}else a=c;
error=fabs(c-cold);
if(i==1){
printf(" ------- \n");
}else printf(" %4.6f\n",error);
}while(error>0.00005);
printf(" Root is %4.6f \n",c);
return 0;
}
Output:
3.
#include<stdio.h>
#include<math.h>
float f(floatx)
{
return x*log10(x) -1.2;
}
float df (floatx)
{
return log10(x) + 0.43429;
}
int main()
{
int itr, maxmitr; float
h,x0,x1,allerr;
printf("\nEnter x0, allowed error and maximum iterations\n");
scanf("%f %f %d", &x0, &allerr, &maxmitr);
for (itr=1; itr<=maxmitr; itr++)
{
h=f(x0)/df(x0);
x1=x0-h;
printf("AtIterationno.%3d,x=%9.6f\n",itr,x1); if
(fabs(h) <allerr)
{
printf("After %3d iterations, root = %8.6f\n", itr, x1); return 0;
}
x0=x1;
}
printf(" The required solution does not converge or iterations are insufficient\n"); return 1;
}
Output:
4.
#include<iostream>
#include<math.h> using
namespace std; int
main()
int i,j,k,n;
cout<<"\nEnter the no. of equations: ";
cin>>n;
float mat[n][n+1];
float res[n];
cout<<"\nEnter the elements of the augmented matrix: "; for(i=0;i<n;i++)
for(j=0;j<n+1;j++)
{
cin>>mat[i][j];
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(abs(mat[i][i]) < abs(mat[j][i]))
for(k=0;k<n+1;k++)
/* swapping mat[i][k] and mat[j][k] */
mat[i][k]=mat[i][k]+mat[j][k];
mat[j][k]=mat[i][k]-mat[j][k];
mat[i][k]=mat[i][k]-mat[j][k];
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
float f=mat[j][i]/mat[i][i];
for(k=0;k<n+1;k++)
{
mat[j][k]=mat[j][k]-f*mat[i][k];
for(i=n-1;i>=0;i--)
res[i]=mat[i][n];
for(j=i+1;j<n;j++)
if(i!=j)
res[i]=res[i]-mat[i][j]*res[j];
res[i]=res[i]/mat[i][i];
cout<<"\nThe values of unknowns for the above equations=>\n";
for(i=0;i<n;i++)
cout<<res[i]<<"\n";
return 0;
Output:
5.
#include<iostream>
#include<cmath>
using namespacestd;
float mathFunc(float x)
{
return(x+(1/x)); //function1+1/x
}
float integrate(float a, float b, int n) {
floath,res=0.0,oddSum=0.0,evenSum=0.0,lim; int i;
h = (b-a)/n;
res = (mathFunc(a)+mathFunc(b)); lim =
n/2;
for(i = 1; i<=lim; i++)
oddSum += mathFunc(a+(2*i-1)*h); oddSum *= 4;
for(i = 1; i<lim; i++)
evenSum += mathFunc(a+(2*i)*h);
evenSum *= 2;
res += oddSum+evenSum; res
*= (h/3);
return res;
}
main()
{
float result, lowLim, upLim; int
interval;
cout << "Enter Lower Limit, Upper Limit and interval: "; cin
>>lowLim >>upLim >>interval;
result=integrate(lowLim,upLim,interval); cout
<< "The answer is: " << result;
}
Output:
6.
#include<iostream>
#include<math.h>
#define f(x) 1/(1+pow(x,2))
using namespace std; int
main()
{
float lower, upper, integration=0.0, stepSize, k; int i,
subInterval;
cout<<"Enter lower limit of integration: "; cin>>lower;
cout<<"Enter upper limit of integration: "; cin>>upper;
cout<<"Enter number of sub intervals: "; cin>>subInterval;
stepSize = (upper - lower)/subInterval;
integration = f(lower) + f(upper); for(i=1; i<=
subInterval-1; i++)
{
k=lower+i*stepSize;
if(i%3==0)
{
integration = integration + 2 * (f(k));
}
else
{
integration = integration + 3 * (f(k));
}
integration = integration * stepSize*3.0/8.0;
cout<< endl <<"Required value of integration is: "<< integration;
return 0;
}
Output:
7. Arithmetic individual mean series
#include<iostream>
namespace std; int
main()
{
int num, i, a[50], sum=0;
cout<<"\n Count of Elements ? \n";
cin>>num;
cout<<"\n Enter "<<num<<" Numbers : \n";
for(i=0; i<num; i++)
{
cin>>a[i]; sum=sum+a[i];
}
int arth_mean=sum/num;
cout<<"\n Arithmetic Mean of individual Series = "<<arth_mean; return 0;
}
Output:
7. calculate harmonic mean
#include <bits/stdc++.h>
using namespace std;
floatharmonic_mean(floatarr[],intsize){ float
sum= 0;
for (int i = 0; i < size; i++)
sum = sum + (float)1 / arr[i];
return (float)size/sum;
int main()
float arr[] = {2.0, 3.4, 5.3, 2.1};
int size = sizeof(arr) / sizeof(arr[0]);
cout<<"Harmonic mean is : "<<harmonic_mean(arr, size); return 0;
Output:
Harmonic mean is : 2.74163
8. Newtons interpolation
#include<iostream>
using namespace std; int
main()
int n,i,j;
float x[10],f[10],a,sum=0,mult;
cout<<"Noofsamplepoints?";
cin>>n;
cout<<"\nAll x with corresponding f(x) "; for(i=0;i<n;i++)
cin>>x[i]>>f[i];
cout<<"\nEnter x for calculation ";
cin>>a;
for(j=0;j<n-1;j++)
for(i=n-1;i>j;i--)
f[i]=(f[i]-f[i-1])/(x[i]-x[i-j-1]);
for(i=n-1;i>=0;i--)
mult=1;
for(j=0;j<i;j++)
mult*=(a-x[j]);
mult*=f[j]; sum+=mult;
cout<<"The result is: "<<sum;
// getch();
return 0;
Output:
9.
#include<stdio.h>
#include<math.h> int
main()
float x[10],y[15][15]; int
n,i,j; printf("Enter n :
");
scanf("%d",&n);
printf("X\tY\n");
for(i=0;i<n;i++){
scanf("%f %f",&x[i],&y[i][0]);
//forward difference table
for(j=1;j<n;j++)
for(i=0;i<(n-j);i++)
y[i][j] = y[i+1][j-1] - y[i][j-1]; printf("\n****Forward
Difference Table ****\n");
//display Forward Difference Table
for(i=0;i<n;i++)
printf("\t%.2f",x[i]);
for(j=0;j<(n-i);j++)
printf("\t%.2f",y[i][j]);
printf("\n");
for(j=1;j<n;j++) for(i=n-
1;i>(j-1);i--)
y[i][j] = y[i][j-1] - y[i-1][j-1];
printf("\n****Backward Difference Table ****\n");
for(i=0;i<n;i++)
printf("\t%.2f",x[i]); for(j=0;j<=i;j++)
printf("\t%.2f",y[i][j]);
printf("\n");
}
return 0;
Output:
9. Newton forward interpolation
#include<iostream>
#include<bits/stdc++.h> using
namespace std; int
factorial(intn)
int fact=1;
while(n)
fact=fact*n;
n--;
returnfact;
int main(){
float x[10],y[10],p[10],diff[10]; float
X,f,f2=0,u,h;
int i, j=1,n,k=1;
cout<<"Enter the number of observations: "; cin>>n;
cout<<"\nEnter the values of xi's and f(xi's)\n";
for(i=1; i<=n; i++){
cout<<"x["<<i<<"]: ";
cin>>x[i];
cout<<"f["<<i<<"]: ";
cin>>y[i];
}
cout<<"\nx[i's]\tf[i's]\n"; for(i=1;
i<=n; i++){
cout<<x[i]<<"\t"<<y[i]<<"\n";
cout<<"\nEnter the value of x at which you want to interpolate: "; cin>>X;
int m=n;
h=x[2]-x[1];
u=(X-x[1])/h;
f=y[1];
cout<<fixed<<setprecision(2);
cout<<"Forward Difference table for the given set of points is\n"; do{
cout<<"diff.("<<j++<<") f(x)\n"; for(i=1;
i<n; i++){
p[i]=( ( y[i+1]-y[i] ) );
cout<<p[i]<<"\n";
y[i]=p[i];
diff[k++]=p[1];
n--;
cout<<"\n";
}while(n!=1);
float df=u;
float l=1;
for(int i=1; i<m; i++ ){
if(i>1)
df=df/factorial(i);
f2=f2+(df*diff[i]);
for(intj=0;j<=i;j++){
l=l*(u-j);
df=l;
f=f+f2;
cout<<"\nf("<<X<<") = "<<f;
return 0;
Output:
10.
#include <iostream>
#include <conio.h> using
namespace std;
class NewtonForward
public:
void askN();
void askX();
void askF();
void askXX();
void forwardTable();
void calcP();
void findH();
void findS();
private:
double XX, x[10] , f[10][10] , p[10],diff[5][5],P1;
int n; double
h,s;
};
void NewtonForward::askX()
cout << endl;
for(int i = 0; i<n; i++ )
{
cout << "ENter X[" << i << "] : "; cin
>> x[i];
cout << endl;
void NewtonForward::askF()
for(int j = 0; j<n; j++ )
cout << "ENter F[" << j << "] : "; cin >>
f[0][j];
cout << endl;
void NewtonForward::askXX()
cout << "Enter X for which the value is to be found: "; cin >> XX;
void NewtonForward::forwardTable()
{
for(int i = 1; i < n; i++)
for(int j = 0; j< n-i;j++)
f[i][j] = (f[i-1][j+1]-f[i-1][j]);
cout << endl;
cout << "Sn\tXi\tf(Xi)\t";
for(int i = 0; i <n-1;i++)
cout << i+1 << " diff\t";
cout << endl;
for(int i = 0; i < n; i++)
cout <<i+1 <<"\t" << x[i]<< "\t";
for(int j = 0; j< n-i;j++)
cout << f[j][i] << "\t";
cout << endl;
void NewtonForward::findH()
{
h = x[1] - x[0];
void NewtonForward::findS()
s = (XX - x[0])/h;
void NewtonForward::calcP()
findH();
findS();
P1 = f[0][0];
for(int i = 1;i<n;i++)
double k = s; for(int j =
1; j<i;j++)
k *= (s-j) * 1/(j+1);
k*=f[i][0]; P1
+= k ;
cout <<endl << "The value of P" << n-1 << "(" << XX << "): " <<P1 << endl << endl;
}
void NewtonForward::askN()
cout<<"Enterthenumberofvalues:"; cin >>
n;
int main()
NewtonForward d1;
d1.askN();
d1.askX();
d1.askF();
d1.askXX();
d1.forwardTable();
d1.calcP();
OUTPUT
11.
#include <iostream.h>
#include<conio.h> class
B;
class A
private:
int a;
public:
void setdata(int x)
{ a = x;
friend void fun(A,B);
};
classB
private:
int b;
public:
void setdata(int y)
{ b = y;
friend void fun(A,B);
};
void fun(A a1,Bb1)
cout<<"SUM IS "<<a1.a+b1.b;
}
void main()
clrscr();
A aobj; B
bobj;
aobj.setdata(4);
bobj.setdata(5);
fun(aobj,bobj); getch();
12.
#include<iostream>
#include<math.h>
#define f(x) 1/(1+pow(x,2))
using namespace std;
int main()
float lower, upper, integration=0.0, stepSize, k; int i,
subInterval;
cout<<"Enter lower limit of integration: "; cin>>lower;
cout<<"Enter upper limit of integration: "; cin>>upper;
cout<<"Enter number of sub intervals: "; cin>>subInterval;
stepSize = (upper - lower)/subInterval;
integration = f(lower) + f(upper); for(i=1; i<=
subInterval-1; i++)
k=lower+i*stepSize;
if(i%3==0)
integration = integration + 2 * (f(k));
else
integration = integration + 3 * (f(k));
integration = integration * stepSize*3.0/8.0;
cout<< endl <<"Required value of integration is: "<< integration; return 0;
Output:
13.
#include<iostream>
#include<cmath> using
namespace std;
float mathFunc(float x)
return(x+(1/x)); //function 1 + 1/x
float integrate(float a, float b, int n)
float h, res = 0.0, oddSum = 0.0, evenSum = 0.0, lim; int i;
h = (b-a)/n;
res = (mathFunc(a)+mathFunc(b)); lim
= n/2;
for(i = 1; i<=lim; i++)
oddSum += mathFunc(a+(2*i-1)*h);
oddSum *= 4;
for(i = 1; i<lim; i++)
evenSum += mathFunc(a+(2*i)*h);
evenSum *= 2;
res += oddSum+evenSum; res
*= (h/3);
return res;
main()
float result, lowLim, upLim; int
interval;
cout << "Enter Lower Limit, Upper Limit and interval: "; cin
>>lowLim >>upLim >>interval;
result=integrate(lowLim,upLim,interval); cout
<< "The answer is: " << result;
Output:
14. Program trapezoidal
#include<iostream>
#include<math.h>
#define f(x) 1/(1+pow(x,2))
using namespace std;
int main(){ float lw, up, integral_value=0.0, stepSize, k; int i,
subInterval;
cout<<"Enter lower limit of integral: ";
cin>>lw;
cout<<"Enter upper limit of integral: ";
cin>>up;
cout<<"Enter number of sub intervals: "; cin>>subInterval;
stepSize = (up - lw)/subInterval;
integral_value = f(lw) + f(up); for(i=1;
i<= subInterval-1; i++)
{k = lw + i*stepSize;
integral_value = integral_value + 2 * (f(k)); }
integral_value = integral_value * stepSize/2;
cout<< endl<<"VALUE OF integral is: "<< integral_value; return 0;}
Output:
15. Program simpson one third by 8
#include<iostream>
#include<math.h>
#define f(x) 1/(1+pow(x,2))
using namespace std;
int main()
float lower, upper, integration=0.0, stepSize, k; int i,
subInterval;
cout<<"Enter lower limit of integration: "; cin>>lower;
cout<<"Enter upper limit of integration: "; cin>>upper;
cout<<"Enter number of sub intervals: "; cin>>subInterval;
stepSize = (upper - lower)/subInterval;
integration = f(lower) + f(upper); for(i=1; i<=
subInterval-1; i++)
k = lower + i*stepSize;
if(i%3==0)
integration = integration + 2 * (f(k));
else
{
integration = integration + 3 * (f(k));
integration = integration * stepSize*3.0/8.0;
cout<< endl <<"Required value of integration is: "<< integration;
return 0;
Output: