C : round robin algorithm implementation


#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<string.h>
void main()
{
char p[10][5];
int et[10],wt[10],timer=3,count,pt[10],rt,i,j,totwt=0,t,n=5,found=0,m;
float avgwt;

for(i=0;i<n;i++)
{
printf("Enter the process name : ");
scanf("%s",&p[i]);
printf("Enter the processing time : ");
scanf("%d",&pt[i]);
}
m=n;
wt[0]=0;
i=0;
do
{
if(pt[i]>timer)
{
rt=pt[i]-timer;
strcpy(p[n],p[i]);
pt[n]=rt;
et[i]=timer;
n++;
}
else
{
et[i]=pt[i];
}
i++;
wt[i]=wt[i-1]+et[i-1];
}while(i<n);

count=0;
for(i=0;i<m;i++)
{
for(j=i+1;j<=n;j++)
{
if(strcmp(p[i],p[j])==0)
{
count++;
found=j;
}
}
if(found!=0)
{

wt[i]=wt[found]-(count*timer);
count=0;
found=0;
}
}
for(i=0;i<m;i++)
{
totwt+=wt[i];
}
avgwt=(float)totwt/m;
for(i=0;i<m;i++)
{
printf("\n%s\t%d\t%d",p[i],pt[i],wt[i]);
}
printf("\nTotal waiting time %d\n",totwt);
printf("\nTotal avg.turnaround time: %f",avgwt);
getch();
}

C : secant method


#include<stdio.h>
#include<conio.h>
#include<math.h>
#define E 0.00001
#define f(x) x*x-4*x-10
int main()
{
float x1,x2,x3,f1,f2;
printf("Enter two value (x1,x2) : ");
scanf("%f",&x1);
scanf("%f",&x2);
f1=f(x1);
f2=f(x2);
Label:
x3=(f2*x1-f1*x2)/(f2-f1);
if(fabs((x3-x2)/x3)>E)
{
x1=x2;
f1=f2;
x2=x3;
f2=f(x3);
goto Label;
}
else
printf("The root is %f",x3);
getch();
return(0);
}

C : newton rapson method


#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#define f(x) x*x-3*x+2
#define df(x) 2*x-3
#define E 0.00001

int main()
{
float x0,x1,y0,dy0;
int i,n;
printf("Enter the value of x : ");
scanf("%f",&x0);
printf("\nEnter the number of iteration : ");
scanf("%d",&n);
printf("\nIter.\tx0\tf(x0)\tdf(x0)\tx1\n");

for(i=0;i<n;i++)
{
y0=f(x0);
dy0=df(x0);
x1=(x0-(y0/dy0));
x0=x1;
printf("%d\t%.4f\t%.4f\t%.4f\t%.4f",i,x0,y0,dy0,x1);
}
if((fabs(x1-x0)/x1)<E)
   {
printf("\nNumber of iteration is %d",i);
printf("\nRoot = %f\n",x1);

}

getch();
return(0);

}

C++ : lagrangue's interpolation


#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
int i,j,n;
float mult,sum=0,x[10],f[10],a;
cout<<"Enter the number of sample points : ";cin>>n;
for(i=0;i<n;i++)
{
        cout<<"( x["<<i<<"],f["<<i<<"] ) : ";
cin>>x[i]>>f[i];
}

cout<<"\nEnter the value of x : ";
cin>>a;

for(i=0;i<=n;i++)
{
mult=1;
for(j=0;j<=n;j++)
{
if(j!=1)
mult=mult*((a-x[j])/(x[i]-x[j]));
}
sum=sum+mult*f[i];
}
cout<<"\nThe value of f(x) = "<<sum;
getch();
return(0);
}

C : fixed point iteration method


#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>

#define E 0.00001
#define g(x) 2-x*x

int main()
{
float x1,x2;

printf("Enter the initial guess : ");
scanf("%f",&x1);

Lbl:
x2=g(x1);
if(((x2-x1)/x2)<E)
{
printf("The root is %f",x2);
goto End;
}
else
   {
x1=x2;
goto Lbl;
}
End:
getch();
return(0);
}

C : bisection method


#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#define E 0.00001
#define f(x) x*x-4*x-10
int main()
{
float x0,x1,y0,y1,x2,y2;
int i=0;
printf("enter the initial guess\n\n");
scanf("%f%f", &x0,&x1);
y0=f(x0);
y1=f(x1);
if((y0*y1)>0)
{
printf("initial guess are not suitable \n\n");
getch();
exit(0);
}
printf("iter\tx0\tf(x0)\tx1\tf(x1)\tx2\tf(x2)\n");
while(fabs((x1-x0)/x1)>E)
{
x2=(x0+x1)/2;
y2=f(x2);
i=i+1;
printf("%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t\n",i,x0,y0,x1,y1,x2,y2);
if(y0*y2>0)
x0=x2;
else
x1=x2;
}
printf("number of iteration is %d\n",i);
printf("the root is %.2f",x2);
getch();
return(0);
}

C++ : matrix display using class


#include<iostream>
#include<conio.h>

using namespace std;

class matrix
{
int a;
int b;
int A[3][3];
public:
void readmatrix();
void displaymatrix();
};

void matrix::readmatrix()
{
for(int i=1;i<=3;i++)
{
for(int j=1;j<=3;j++)
{
cout<<"A["<<i<<"]["<<j<<"] : ";
cin>>A[i][j];
}
}
}
void matrix::displaymatrix()
{
for(int i=1;i<=3;i++)
{
for(int j=1;j<=3;j++)
{
cout<<" "<<A[i][j];
}
cout<<endl;
}

}



int main()
{

matrix m;
m.readmatrix();
m.displaymatrix();
getch();
return(0);
}

C++ : add currency using OOP concept


#include<iostream>
#include<conio.h>

using namespace std;

class currency
{
int rupees;
int paisa;
public:
currency():rupees(0),paisa(0)
{
}
currency(int a):rupees(a),paisa(a)
{
}
currency(int r, int p):rupees(r),paisa(p)
{
}
void getamount()
{
cout<<"Enter rupees : ";cin>>rupees;
cout<<"Enter paisa : ";cin>>paisa;
}
void sum(currency c1, currency c2);
void display();
};

void currency::sum(currency c1, currency c2)
{
paisa=c1.paisa+c2.paisa;
rupees=0;
while(paisa>=100)
{
paisa=paisa-100;
rupees++;
}
rupees+=c1.rupees+c2.rupees;
}

void currency::display()
{
cout<<"Total Sum : \n";
cout<<"Rs. "<<rupees<<" and "<<paisa<<" Paisa";
}

int main()
{
currency c1(70);
currency c3;
currency c2(129,90);
//c1.getamount();
//c2.getamount();
c3.sum(c1,c2);
c3.display();
getch();
return(0);
}

C++ : add complex number using class


#include<iostream>
#include<conio.h>

using namespace std;

class complex
{
private:
int real;
int imaginary;
public:
void setdata(int r,int i)
{
real=r;
imaginary=i;
}
void display()
{
cout<<real<<"+i"<<imaginary;
}
void sum(complex c1,complex c2);
};

void complex::sum(complex c1,complex c2)
{
real=0;
imaginary=0;

real=c1.real+c2.real;
imaginary=c1.imaginary+c2.imaginary;
}

int main()
{
complex c1,c2,c3;
c1.setdata(2,3);
c2.setdata(1,2);
c3.sum(c1,c2);
cout<<"\nFirst complex number =  ";
c1.display();
cout<<"\n\nSecond complex number =  ";
c2.display();
cout<<"\n\n\nSum =  ";
c3.display();
getch();
return(0);
}

C++ : overloading assignment operator +=


#include<iostream>

using namespace std;

class dist
{
private:
    int feet;
    float inches;
public:
    dist():feet(0),inches(0){}
    dist(int f,float in):feet(f),inches(in){}

    void getdist()
    {
        cout<<"feet:";cin>>feet;
        cout<<"inches:";cin>>inches;
    }

    void operator +=(dist d2);
    friend void showdist(dist d);
};

void showdist(dist d)
{
    cout<<d.feet<<"\'-"<<d.inches<<"\""<<endl;
}

void dist::operator+=(dist d2)
{
    feet=feet+d2.feet;
    inches+=d2.inches;
    if(inches>=12)
    {
        inches-=12;
        feet++;
    }
}

int main()
{
    dist d1(7,7.25);
    dist d2;
    d2.getdist();
    d1+=d2;
    cout<<"_______________________________________\n\n\n";
    cout<<"d1 after addition with d2 is:";
    showdist(d1);
    dist d3(4,7.5);
    d1+=d3;//if d1+=d2+d3 is written then '+' should be overloaded
    cout<<"d1 after addition with d3 is:";
    showdist(d1);
    return 0;
}

C++ : overloading insertion and extraction operator


#include<iostream>
#include<conio.h>

using namespace std;

class time1
{
private:
int hrs;
int mins;

public:
time1():hrs(0),mins(0){}
time1(int h, int m):hrs(h),mins(m){}
friend istream & operator >> (istream &tin, time1 &t);
friend ostream & operator << (ostream &tout, time1 &t);
};

istream & operator >>(istream &tin, time1 &t)
{
tin>>t.hrs;
tin>>t.mins;
return tin;
}

ostream & operator << (ostream &tout, time1 &t)
{
tout<<t.hrs<<" : "<<t.mins<<endl;
return tout;
}



int main()
{
time1 t1;
cout<<"Enter time t1 : ";cin>>t1;
cout<<"Time t1 = "<<t1;
time1 t2(11,23);
cout<<"Time t2 is "<<t2;
getch();
return(0);
}

C++ : input n distance and find their average


#include<iostream>
#include<conio.h>
using namespace std;
class dist
{
private:
int feet;
float inches;
public:
dist():feet(0),inches(0){}
dist(int f,float in):feet(f),inches(in){}
void getdist()
{
cout<<"feet = ";cin>>feet;
cout<<"inches = ";cin>>inches;
}
void showdist()
{
cout<<feet<<"\'-"<<inches<<"\""<<endl;
}
dist operator +(dist d2);
dist operator /(int n);
};

dist dist::operator +(dist d2)
{
int f=feet+d2.feet;
float in=inches+d2.inches;
if(in>=12)
{
in-=12;
f++;
}
return dist(f,in);
}

dist dist::operator /(int n)
{
float fltfeet=feet+inches/12;
fltfeet/=n;
int f=int(fltfeet);
float in=12*(fltfeet-f);
return dist(f,in);
}

int main()
{
int n;
dist tot,d[10];
cout<<"Number of distance: ";cin>>n;
cout<<"Enter "<<n<< " distance:\n";
for(int i=0;i<n;i++)
{
cout<<"Distance "<<i+1<<" is: "<<endl;
d[i].getdist();
tot=tot+d[i];
}
dist avg=tot/n;
cout<<"Distance given:\n";
for(int i=0;i<n;i++)
{
cout<<"Distance "<<i+1<<"is :";
d[i].showdist();
}
cout<<"Total distance is: ";
tot.showdist();
cout<<"Average distance is: ";
avg.showdist();
getch();
return 0;

}

C++ : program to concanate two string


#include<iostream>
#include<string.h>
#include<conio.h>
using namespace std;

class String
{
private:
    int length;
    char *str;
public:
    String()
    {
        length=0;
        str= new char[length+1];
    }
    String(char *s)
    {

        length=strlen(s);
        str=new char[length+1];
        strcpy(str,s);
    }
    friend String operator +(String &s1, String &s2);
    friend void show(String &s);
};

void show(String &s)
{
    cout<<s.str<<endl;
}

String operator +(String &s1, String &s2)
{
    String temp;
    temp.length=s1.length+s2.length;
    delete temp.str;
    temp.str=new char[temp.length+1];
    strcpy(temp.str,s1.str);
    strcat(temp.str,s2.str);
    return temp;
}

int main()
{
    String s1("Ram"), s2("Kumar");
    String s3;
    s3=s1+s2;
    cout<<"s3 is:";
    show(s3);
    getch();
    return 0;

}

C++ : comparing two distances using operator overloading


#include<iostream>
using namespace std;

class dist
{
private:
    int feet;
    float inches;
public:
    dist():feet(0),inches(0){}
    dist(int f, float in): feet(f),inches(in){}
    void getdist()
    {
        cout<<"feet=";cin>>feet;
        cout<<"inches=";cin>>inches;
    }
    friend bool operator <(dist d1, dist d2);
};

bool operator <(dist d1,dist d2)
{

    float dd1=d1.feet+d1.inches/12;
    float dd2=d2.feet+d2.inches/12;
    return dd1<dd2?true:false;
}

int main()
{

    dist d1(7,6.25);
    dist d2;
    d2.getdist();
    if(d1<d2)
        cout<<"d1 is smaller than d2"<<endl;
    else
        cout<<"d2 is smaller than d1"<<endl;
    return 0;
}

C++ : find the value of given base to the given power


#include<iostream>
#include<conio.h>
#include<math.h>

using namespace std;

int main()
{
float y,a,b;
cout<<"Enter the base (a) = ";cin>>a;
cout<<"Enter the power (b) = ";cin>>b;
y=pow(a,b);
cout<<"\n"<<a<<" to the power "<<b<<" is "<<y;
getch();
return(0);

}

C++ : generate the number as


                123454321
  1234321
    12321
      121
        1

==================================================


#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
int i,j,k,l;

for(i=5;i>=1;i--)
{
for(j=1;j<=i;j++)
{
cout<<j;
}
for(k=i-1;k>=1;k--)
{
cout<<k;
}
cout<<endl;
for(l=0;l<=5-i;l++)
{
cout<<" ";
}
}
getch();
return(0);
}

C++ : generate the number as


                123454321
  1234321
    12321
      121
        1

==================================================


#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
int i,j,k,l;

for(i=5;i>=1;i--)
{
for(j=1;j<=i;j++)
{
cout<<j;
}
for(k=i-1;k>=1;k--)
{
cout<<k;
}
cout<<endl;
for(l=0;l<=5-i;l++)
{
cout<<" ";
}
}
getch();
return(0);
}

C++ : generate the number as


                123454321
  1234321
    12321
      121
        1

==================================================


#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
int i,j,k,l;

for(i=5;i>=1;i--)
{
for(j=1;j<=i;j++)
{
cout<<j;
}
for(k=i-1;k>=1;k--)
{
cout<<k;
}
cout<<endl;
for(l=0;l<=5-i;l++)
{
cout<<" ";
}
}
getch();
return(0);
}

C++ : generate the number as


                123454321
  1234321
    12321
      121
        1

==================================================


#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
int i,j,k,l;

for(i=5;i>=1;i--)
{
for(j=1;j<=i;j++)
{
cout<<j;
}
for(k=i-1;k>=1;k--)
{
cout<<k;
}
cout<<endl;
for(l=0;l<=5-i;l++)
{
cout<<" ";
}
}
getch();
return(0);
}

C++ : generate the number as


                123454321
  1234321
    12321
      121
        1

==================================================


#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
int i,j,k,l;

for(i=5;i>=1;i--)
{
for(j=1;j<=i;j++)
{
cout<<j;
}
for(k=i-1;k>=1;k--)
{
cout<<k;
}
cout<<endl;
for(l=0;l<=5-i;l++)
{
cout<<" ";
}
}
getch();
return(0);
}

C++ : generate the number as


                123454321
  1234321
    12321
      121
        1

==================================================


#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
int i,j,k,l;

for(i=5;i>=1;i--)
{
for(j=1;j<=i;j++)
{
cout<<j;
}
for(k=i-1;k>=1;k--)
{
cout<<k;
}
cout<<endl;
for(l=0;l<=5-i;l++)
{
cout<<" ";
}
}
getch();
return(0);
}

C++ : generate the number as


                123454321
  1234321
    12321
      121
        1

==================================================


#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
int i,j,k,l;

for(i=5;i>=1;i--)
{
for(j=1;j<=i;j++)
{
cout<<j;
}
for(k=i-1;k>=1;k--)
{
cout<<k;
}
cout<<endl;
for(l=0;l<=5-i;l++)
{
cout<<" ";
}
}
getch();
return(0);
}