Practical C++
Practical C++
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
main()
int i,j,k,n;
cin>>n;
float mat[n][n+1];
float res[n];
for(j=0;j<n+1;j++)
{
cin>>mat[i][j];
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
for(k=0;k<n+1;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];
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
}
Output:
6.
#include<iostream>
#include<math.h>
#define f(x) 1/(1+pow(x,2))
return 0;
}
Output:
#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>
floatharmonic_mean(floatarr[],intsize){ float
sum= 0;
return (float)size/sum;
int main()
Output:
Harmonic mean is : 2.74163
8. Newtons interpolation
#include<iostream>
main()
int n,i,j;
float x[10],f[10],a,sum=0,mult;
cout<<"Noofsamplepoints?";
cin>>n;
cin>>x[i]>>f[i];
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;
// getch();
return 0;
Output:
9.
#include<stdio.h>
#include<math.h> int
main()
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]);
for(j=1;j<n;j++)
for(i=0;i<(n-j);i++)
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--)
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:
#include<bits/stdc++.h> using
factorial(intn)
int fact=1;
while(n)
fact=fact*n;
n--;
returnfact;
int main(){
X,f,f2=0,u,h;
int i, j=1,n,k=1;
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";
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{
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;
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>
namespace std;
class NewtonForward
public:
void askN();
void askX();
void askF();
void askXX();
void forwardTable();
void calcP();
void findH();
void findS();
private:
int n; double
h,s;
};
void NewtonForward::askX()
>> x[i];
void NewtonForward::askF()
cout << "ENter F[" << j << "] : "; cin >>
f[0][j];
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++)
f[i][j] = (f[i-1][j+1]-f[i-1][j]);
for(int i = 0; i <n-1;i++)
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()
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;
};
classB
private:
int b;
public:
void setdata(int y)
{ b = y;
};
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>
int main()
subInterval;
subInterval-1; i++)
k=lower+i*stepSize;
if(i%3==0)
else
Output:
13.
#include<iostream>
#include<cmath> using
namespace std;
float mathFunc(float x)
h = (b-a)/n;
= n/2;
oddSum += mathFunc(a+(2*i-1)*h);
oddSum *= 4;
evenSum += mathFunc(a+(2*i)*h);
evenSum *= 2;
*= (h/3);
return res;
main()
interval;
cout << "Enter Lower Limit, Upper Limit and interval: "; cin
result=integrate(lowLim,upLim,interval); cout
Output:
#include<iostream>
#include<math.h>
subInterval;
cin>>lw;
cin>>up;
{k = lw + i*stepSize;
Output:
15. Program simpson one third by 8
#include<iostream>
#include<math.h>
int main()
subInterval;
subInterval-1; i++)
k = lower + i*stepSize;
if(i%3==0)
else
{
return 0;
Output: