+ All Categories
Home > Documents > oop - Copy

oop - Copy

Date post: 19-Jul-2016
Category:
Upload: skysaini7
View: 222 times
Download: 0 times
Share this document with a friend
Description:
programming
69
Aim: To search an element in an array using linear search Source: #include <iostream> using namespace std; int main() { int fl,x,n,a[20],i; cout<<"Enter Size:"; cin>>n; cout<<"Enter "<<n<<" numbers:"; for(i=0;i<n;i++) cin>>a[i]; cout<<"Enter search element:"; cin>>x; fl=-1; for(i=0;i<n;i++) if(a[i]==x) fl=i; if(fl==-1) cout<<"Number not found!\n"; else cout<<"Number found at position "<<fl+1<<endl; return 0; }
Transcript
Page 1: oop - Copy

Aim: To search an element in an array using linear search

Source:

#include <iostream>

using namespace std;

int main(){ int fl,x,n,a[20],i;

cout<<"Enter Size:"; cin>>n;

cout<<"Enter "<<n<<" numbers:"; for(i=0;i<n;i++) cin>>a[i];

cout<<"Enter search element:"; cin>>x;

fl=-1; for(i=0;i<n;i++) if(a[i]==x) fl=i;

if(fl==-1) cout<<"Number not found!\n"; else cout<<"Number found at position "<<fl+1<<endl; return 0;}

Page 2: oop - Copy

Output:

Page 3: oop - Copy

Aim: To search an element in an array using binary search

Source:#include<iostream>

using namespace std;

int bin_sr(int a[], int n, int x){ int l=0,u=n-1,m; while(l<=u) { m=(l+u)/2; if(a[m]==x) return m+1; else if(x>a[m]) l=m+1; else u=m-1; } return -1;}

int main(){ int fl,x,n,a[20],i;

cout<<"Enter Size:"; cin>>n;

cout<<"Enter "<<n<<" numbers in ascending order:"; for(i=0;i<n;i++) cin>>a[i];

cout<<"Enter search element:"; cin>>x;

fl=bin_sr(a,n,x); if(fl==-1) cout<<"Number not found!\n"; else cout<<"Number found at position "<<fl<<endl; return 0;}

Page 4: oop - Copy

Output:

Page 5: oop - Copy

Aim: To sort an array using linear sort

Source:

#include<iostream>

using namespace std;

int main(){ int n,a[20],m,t,i,j;

cout<<"Enter Size:"; cin>>n;

cout<<"Enter "<<n<<" numbers:"; for(i=0;i<n;i++) cin>>a[i];

for(i=0;i<n-1;i++) { m=i; for(j=i+1;j<n;j++) if(a[j]<a[m]) m=j; t=a[m]; a[m]=a[i]; a[i]=t; } cout<<"Sorted Array:\n"; for(i=0;i<n;i++) cout<<a[i]<<" ";

return 0;}

Page 6: oop - Copy

Output:

Page 7: oop - Copy

Aim: To sort an array using bubble sort

Source:

#include<iostream>

using namespace std;

int main(){ int n,a[20],m,t,i,j;

cout<<"Enter Size:"; cin>>n;

cout<<"Enter "<<n<<" numbers:"; for(i=0;i<n;i++) cin>>a[i];

for(i=0;i<(n-1);i++) { for(j=0;j<(n-i-1);j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }

cout<<"Sorted Array:\n"; for(i=0;i<n;i++) cout<<a[i]<<" ";

return 0;}

Page 8: oop - Copy

Output:

Page 9: oop - Copy

Aim: To sort an array using insertion sort

Source:

#include<iostream>

using namespace std;

int main(){ int n,a[20],m,t,i,j;

cout<<"Enter Size:"; cin>>n;

cout<<"Enter "<<n<<" numbers:"; for(i=0;i<n;i++) cin>>a[i];

for(i=0;i<n;i++) { t=a[i]; m=i; while(m>0 && t<a[m-1]) { a[m]=a[m-1]; m--; } a[m]=t; }

cout<<"Sorted Array:\n"; for(i=0;i<n;i++) cout<<a[i]<<" ";

return 0;}

Page 10: oop - Copy

Output:

Page 11: oop - Copy

Aim: To sort an array using merge sort

Source:

#include<iostream>

using namespace std;

int t[20];

void msort(int a[], int l, int m, int u){ int i=l,j=m+1,k=l; while(i<=m && j<=u) { if(a[i]<a[j]) t[k++]=a[i++]; else t[k++]=a[j++]; } while(i<=m) t[k++]=a[i++]; while(j<=u) t[k++]=a[j++];

for(i=l;i<=u;i++) a[i]=t[i];}

void merger(int a[], int l, int u){ int m; if(l<u) { m=(l+u)/2; merger(a,l,m); merger(a,m+1,u); msort(a,l,m,u); }}

int main(){ int n,a[20],m,t,i,j;

Page 12: oop - Copy

cout<<"Enter Size:"; cin>>n;

cout<<"Enter "<<n<<" numbers:"; for(i=0;i<n;i++) cin>>a[i];

merger(a,0,n-1);

cout<<"Sorted Array:\n"; for(i=0;i<n;i++) cout<<a[i]<<" ";

return 0;}

Page 13: oop - Copy

Output:

Page 14: oop - Copy

Aim: To sort an array using quick sort

Source:

#include<iostream>

using namespace std;

int part(int a[], int p, int r){ int x=a[r],i=p-1,j,t;

for(j=p;j<r;j++) if(a[j]<=x) { i++; t=a[j]; a[j]=a[i]; a[i]=t; } i++; t=a[i]; a[i]=a[j]; a[j]=t; return i;}

void quickr(int a[], int p, int r){ int m; if(p<r) { m=part(a,p,r); quickr(a,p,m-1); quickr(a,m+1,r); }}

int main(){ int n,a[20],m,t,i,j;

cout<<"Enter Size:"; cin>>n;

Page 15: oop - Copy

cout<<"Enter "<<n<<" numbers:"; for(i=0;i<n;i++) cin>>a[i];

quickr(a,0,n-1);

cout<<"Sorted Array:\n"; for(i=0;i<n;i++) cout<<a[i]<<" ";

return 0;}

Page 16: oop - Copy

Output:

Page 17: oop - Copy

Aim: To print a set of strings in the given pattern using 2D array

Source:

#include<iostream>

using namespace std;

int main(){ int i,j,l[5],m; char a[5][20];

cout<<"Enter 5 words:\n"; for(i=0;i<5;i++) cin>>a[i];

m=0; for(i=0;i<5;i++){ for(j=0;a[i][j]!='\0';j++); l[i]=j; if(j>m) m=j; }

cout<<"Pattern:\n"; for(i=0;i<m;i++) { for(j=0;j<5;j++) { if(i<l[j]) cout<<a[j][i]<<" "; else cout<<" "; } cout<<endl; } return 0;}

Page 18: oop - Copy

Output:

Page 19: oop - Copy

Aim: To print a set of strings in the given pattern using point

Source:

#include<iostream>#include<malloc.h>

using namespace std;

int main(){ int i,j,l[5],m; char *a[5],*p;

cout<<"Enter 5 words:\n"; for(i=0;i<5;i++) { a[i]=(char*)malloc(20*sizeof(char)); cin>>a[i]; }

m=0; for(i=0;i<5;i++){ for(j=0,p=a[i];*p!='\0';j++,p++); l[i]=j; if(j>m) m=j; }

cout<<"Pattern:\n"; for(i=0;i<m;i++) { for(j=0;j<5;j++) { if(i<l[j]) cout<<a[j][i]<<" "; else cout<<" "; } cout<<endl; } return 0;}

Page 20: oop - Copy

Output:

Page 21: oop - Copy

Aim: To print a set of strings in the given pattern using 2D array

Source:

#include<iostream>#include<malloc.h>

using namespace std;

int main(){ int i,j,l[5],m; char a[5][20];

cout<<"Enter 5 words:\n"; for(i=0;i<5;i++) { cin>>a[i]; }

m=0; for(i=0;i<5;i++){ for(j=0;a[i][j]!='\0';j++); l[i]=j; if(j>m) m=j; }

cout<<"Pattern:\n"; for(i=0;i<m;i++) { for(j=0;j<5;j++) { if(i>=(m-l[j])) cout<<a[j][i-m+l[j]]<<" "; else cout<<" "; } cout<<endl; } return 0;}

Page 22: oop - Copy

Output:

Page 23: oop - Copy

Aim: To print a set of strings in the given pattern using pointers

Source:

#include<iostream>#include<malloc.h>

using namespace std;

int main(){ int i,j,l[5],m; char *a[5],*p;

cout<<"Enter 5 words:\n"; for(i=0;i<5;i++) { a[i]=(char*)malloc(20*sizeof(char)); cin>>a[i]; }

m=0; for(i=0;i<5;i++){ for(j=0,p=a[i];*p!='\0';j++,p++); l[i]=j; if(j>m) m=j; }

cout<<"Pattern:\n"; for(i=0;i<m;i++) { for(j=0;j<5;j++) { if(i>=(m-l[j])) cout<<a[j][i-m+l[j]]<<" "; else cout<<" "; } cout<<endl; } return 0;}

Page 24: oop - Copy

Output:

Page 25: oop - Copy

Aim: To demonstrate the use of friend functions.

Source:

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

using namespace std;class DB;class DM{ float m,cm;public: void disp() { cout<<"Distance: "<<(int)m<<" m(s) " <<(int)cm<<" cm(s)\n"; }

DM() { m=cm=0; }

void getd(float x, float y) { m=x; cm=y; } friend DB addinch(DM,DB); friend DM addcm(DM,DB);};

class DB{ float ft,inch;public: void disp() { cout<<"Distance: "<<(int)ft<<" ft " <<(int)inch<<" inch(s)\n"; }

Page 26: oop - Copy

DB() { ft=inch=0; }

void getd(float x, float y) { ft=x; inch=y; } friend DB addinch(DM,DB); friend DM addcm(DM,DB);};

DB addinch(DM x, DB y){ DB z; z.inch=fmod((y.inch+(x.m*100+x.cm)/2.54),12); z.ft=y.ft+(y.inch+(x.m*100+x.cm)/2.54)/12; return z;}

DM addcm(DM x, DB y){ DM z; z.cm=fmod((x.cm+(y.ft*12+y.inch)*2.54),100); z.m=x.m+(x.cm+(y.ft*12+y.inch)*2.54)/100; return z;}

int main(){ DB x; DM y; float a,b; int ch;

cout<<"Enter distance A: (m cm)\n"; cin>>a>>b; y.getd(a,b);

cout<<"Enter distance B: (ft inch)\n"; cin>>a>>b; x.getd(a,b);

Page 27: oop - Copy

cout<<"Final Distance Format?\n1.m cm\n2.ft inch\n" <<"\nEnter Choice:"; cin>>ch; cout<<"\nFinal "; if(ch==1) { DM z=addcm(y,x); z.disp(); } else { DB z=addinch(y,x); z.disp(); } return 0;}

Page 28: oop - Copy

Output:

Page 29: oop - Copy

Aim: To demonstrate the use of template .

Source:

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

using namespace std;

template<class T>

T dist(T x1,T y1,T x2, T y2){ return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));}

int main(){ cout<<"\nDistance between integer coordinates (1,3) (5,4) :" <<dist(1,3,5,4);

cout<<"\nDistance between decimal coordinates (1.2,2.3) (4.1,5.9): " <<dist(1.2,2.3,4.1,5.9)<<endl; return 0;}

Page 30: oop - Copy

Output:

Page 31: oop - Copy

Aim: To implement single inheritance .

Source:

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

using namespace std;

class A{ int x;protected: int y;public: void getd(int a, int b) { x=a; y=b; } void printd() { cout<<"Members of A: "<<x<<" "<<y<<endl; }};

class B: public A{ int a,b;public: void getdata(int m, int n) { getd(m*2, n-3); a=m+n+y; b=m+n-y; } void disp() { printd(); cout<<"Memebers of B: "<<a<<" "<<b<<endl; }};

Page 32: oop - Copy

int main(){ B d; d.getdata(10,15); d.disp(); return 0;}

Page 33: oop - Copy

Output:

Page 34: oop - Copy

Aim: To implement multilevel inheritance .

Source:

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

using namespace std;

class A{ int x;protected: int y;public: void getd(int a, int b) { x=a; y=b; } void printd() { cout<<"Members of A: "<<x<<" "<<y<<endl; }};

class B: public A{ int a,b;public: void getdata(int m, int n) { getd(m*2, n-3); a=m+n+y; b=m+n-y; } void disp() { printd(); cout<<"Memebers of B: "<<a<<" "<<b<<endl; }};

Page 35: oop - Copy

class C: public B{ int l;public: void input(int a, int b) { l=a%b; getdata(a*b,a+b); } void output() { cout<<"Members of C: "<<l<<endl; disp(); }};

int main(){ C d; d.input(10,15); d.output(); return 0;}

Page 36: oop - Copy

Output:

Page 37: oop - Copy

Aim: To implement multiple inheritance .

Source:

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

using namespace std;

class A{ int x;protected: int y;public: void getd(int a, int b) { x=a; y=b; } void printd() { cout<<"Members of A: "<<x<<" "<<y<<endl; }};

class B{ int a,b;public: void getdata(int m, int n) { a=m+n; b=m-n; } void disp() { cout<<"Memebers of B: "<<a<<" "<<b<<endl; }};

Page 38: oop - Copy

class C: public A,public B{ int l;public: void input(int a, int b) { l=a%b; getdata(a*b,a+b); getd(a,b); } void output() { cout<<"Members of C: "<<l<<endl; disp(); printd(); }};

int main(){ C d; d.input(10,15); d.output(); return 0;}

Page 39: oop - Copy

Output:

Page 40: oop - Copy

Aim: To demonstrate the use of pointer to functions .

Source:

#include<iostream>

using namespace std;

int small(int a,int b){ return a<b?a:b;}

int large(int a,int b){ return a>b?a:b;}

int select(int (*fn)(int,int),int x,int y){ return fn(x,y);}

int main(){ int m,n; int (*p)(int,int);

cout<<"enter two integers: "; cin>>m>>n;

int high=select(large,m,n);

p=small; int low=select(p,m,n);

cout<<"Greatest Number:"<<high <<"\nSmallest Number:"<<low;

return 0;}

Page 41: oop - Copy

Output:

Page 42: oop - Copy

Aim: To demonstrate overloading of ‘+’ operator using class member function .

Source:

#include<iostream>

using namespace std;

class complex{ float re,img;public: void getd (float x,float y) { re=x; img=y; }

complex operator +(complex);

void disp() { cout<<re; if(img>0) cout<<" + "<<img<<"i"; else cout<<" - "<<-img<<"i";; }};

complex complex::operator +(complex c){ complex temp; temp.re=re+c.re; temp.img=img+c.img; return temp;}

main(){ complex c1,c2,c3; c1.getd(3.1,-4.9);

Page 43: oop - Copy

c2.getd(4.5,5.6); c3=c1+c2;

cout<<"+ operator overloaded:\n"; c1.disp(); cout<<" + "; c2.disp(); cout<<" = "; c3.disp(); cout<<endl; return 0;

}

Page 44: oop - Copy

Output:

Page 45: oop - Copy

Aim: To demonstrate operator overloading of ‘^’ using friend function .

Source:

#include<iostream>

using namespace std;

class ABC{ int a,b;public: void getd (int x,int y) { a=x; b=y; }

friend ABC operator ^(ABC,ABC);

void disp() { cout<<a<<" "<<b; }};

ABC operator ^(ABC a, ABC b){ ABC t; t.a=a.a^b.a; t.b=a.b^b.b; return t;}

main(){ ABC c1,c2,c3; c1.getd(10,34); c2.getd(43,56); c3=c1^c2;

cout<<"^ operator overloaded using friend function:\n";

Page 46: oop - Copy

cout<<"C1: "; c1.disp();

cout<<"\nC2: "; c2.disp();

cout<<"\nC3: "; c3.disp(); cout<<endl; return 0;}

Page 47: oop - Copy

Output:

Page 48: oop - Copy

Aim: To demonstrate the use of static members .

Source:

#include<iostream>

using namespace std;

class test{ int code; static int count;public: void setcode() { code=++count; }

void showcode() { cout<<"object number: "<<code<<endl; }

static void showcount() { cout<<"count: "<<count<<"\n"; }};

int test::count;

int main(){ test t1,t2; t1.setcode(); t2.setcode();

test::showcount(); test t3; t3.setcode();

test::showcount(); t1.showcode();

Page 49: oop - Copy

t2.showcode();

test::showcount();

t1.showcode(); t2.showcode(); t3.showcode();

return 0;}

Page 50: oop - Copy

Output:

Page 51: oop - Copy

Aim: To concatenate two strings .

Source:

#include<iostream>#include<string.h>

using namespace std;

class str{

char *s;int len;

public:str(){

len=0;s=NULL;

}

str(char *p){

len=strlen(p);s= new char[len+1];strcpy(s,p);

}

friend str operator+(str,str);

void show(){

cout<<"String: "<<s<<endl;}

};

str operator+(str x,str y){

str z;z.len=x.len+y.len;z.s=new char[z.len+1];strcpy(z.s,x.s);strcat(z.s,y.s);

Page 52: oop - Copy

return z;}

int main(){

char s1[50],s2[50];

cout<<"Enter string 1:\n";cin>>s1;

cout<<"Enter string 2:\n";cin>>s2;

str a(s1),b(s2),c;cout<<"Final ";c=a+b;c.show();

return 0;}

Page 53: oop - Copy

Output:

Page 54: oop - Copy

Aim: To demonstrate type conversion .

Source:

#include<iostream>

using namespace std;

class A{ int code; int qty; float price;public: A(int a,int b,float c) { code=a; qty=b; price=c; }

void putdata() { cout<<"Code: "<<code<<endl; cout<<"Qty: "<<qty<<endl; cout<<"Value: "<<price<<endl; }

int getcode() { return code; }

int getitems() { return qty; }

float getprice() { return price; }

Page 55: oop - Copy

operator float() { return (qty*price); }};

class B{ int code; float value;public: B() { code=0; value=0; }

B(int x,float y) { code=x; value=y; }

void putdata() { cout<<"Code: "<<code<<"\n"; cout<<"Value: "<<value<<endl; } B(A p) { code=p.getcode(); value=p.getitems()*p.getprice(); }};

int main(){ A s1(100,5,140.0); B d1; float total;

total=s1; d1=s1; cout<<"Product details Type A:"<<endl; s1.putdata();

Page 56: oop - Copy

cout<<"\nTotal Stock value: "<<total<<endl;

cout<<"\nProduct details Type B:"<<endl; d1.putdata();

return 0;}

Page 57: oop - Copy

Output:

Page 58: oop - Copy

Aim: To implement addition and subtraction of complex numbers using class .

Source:

#include<iostream>

using namespace std;

class complex{ float re,img;public: complex(float a,float b) { re=a; img=b; }

complex() { re=0; img=0; }

complex add(complex c1,complex c2) { complex c; c.re=c1.re+c2.re; c.img=c1.img+c2.img; return c; }

complex subtract(complex c1,complex c2) { complex c; c.re=c1.re-c2.re; c.img=c1.img-c2.img; return c; }

void display() {

Page 59: oop - Copy

cout<<"Complex Number: "<<re; if(img>0) cout<<" + "<<img<<"i"<<endl; else cout<<" - "<<-img<<"i"<<endl; }};

int main(){ float x,y;

cout<<"Enter real and imaginary parts of complex 1:\n"; cin>>x>>y; complex c1(x,y);

cout<<"Enter real and imaginary parts of complex 2:\n"; cin>>x>>y; complex c2(x,y);

complex ca,cs; cout<<"After addition:\n"; ca=ca.add(c1,c2); ca.display();

cout<<"After subtraction:\n"; cs=cs.subtract(c1,c2); cs.display();

return 0;}

Page 60: oop - Copy

Output:

Page 61: oop - Copy

Aim: To demonstrate the use of virtual function .

Source:

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

using namespace std;

class shape{public: virtual float area() { return 0.0; } virtual float perimeter() { return 0.0; } virtual void getdata() {

}};class point : public shape{ int x,y;public: void getdata() { cout<<"Enter Coordinates: "; cin>>x>>y; }};class line : public shape{ int length;public:

void getdata() { cout<<"Enter length of the line: ";

Page 62: oop - Copy

cin>>length; }

float perimeter() { return length; }};

class triangle : public shape{ int s1,s2,s3; float s;public: void getdata() { cout<<"Enter the sides of triangle: "; cin>>s1>>s2>>s3;

}

float area() { s=(s1+s2+s3)/2; return sqrt(s*(s-s1)+s*(s-s2)+s*(s-s3)); }

float perimeter() { return (s1+s2+s3); }};

class square : public shape{ int s;public: void getdata() { cout<<"Enter the side of square: "; cin>>s; } float area() { return (s*s);

Page 63: oop - Copy

} float perimeter() { return (4*s); }};class rectangle : public shape{ int l,b;public: void getdata() { cout<<"Enter length and breadth: "; cin>>l>>b; } float area() { return (l*b); } float perimeter() { return (2*(l+b)); }};class circle : public shape{ int r;public: void getdata() { cout<<"Enter radius: "; cin>>r; } float area() { return 3.14*r*r; } float perimeter() { return 2*3.14*r; }};

int main(){

Page 64: oop - Copy

point p; line l; triangle t; square sq; rectangle r; circle c; shape *s1; int ch;

do{ cout<<"\n\n1.POINT\n2.LINE\n3.TRIANGLE\n4.SQUARE\n5.RECTANGLE\n6.CIRCLE\n" <<"7.EXIT\nEnter choice:"; cin>>ch; switch(ch) { case 1: s1=&p; s1->getdata(); cout<<"Area of point: "<<s1->area()<<endl; cout<<"Perimeter of point: "<<s1->perimeter()<<endl; break;

case 2: s1=&l; s1->getdata(); cout<<"Area of line: "<<s1->area()<<endl; cout<<"Perimeter of line: "<<s1->perimeter()<<endl; break;

case 3: s1=&t; s1->getdata(); cout<<"Area of triangle: "<<s1->area()<<endl; cout<<"Perimeter of triangle: "<<s1->perimeter()<<endl; break;

case 4: s1=&sq; s1->getdata(); cout<<"Area of square: "<<s1->area()<<endl; cout<<"Perimeter of square: "<<s1->perimeter()<<endl; break;

case 5: s1=&r; s1->getdata(); cout<<"area of rectangle is: "<<s1->area()<<endl; cout<<"perimeter of rectangle is: "<<s1->perimeter()<<endl; break;

Page 65: oop - Copy

case 6: s1=&c; s1->getdata(); cout<<"area of circle is: "<<s1->area()<<endl; cout<<"perimeter of circle is: "<<s1->perimeter()<<endl; break;

case 7: break;

default: cout<<"INVALID CHOICE\n"; } }while(ch!=7); return 0;}

Page 66: oop - Copy

Output:

Page 67: oop - Copy

Aim: To implement function overloading .

Source:

#include<iostream>

using namespace std;

int vol(int s){ return s*s*s;}

int vol(int l, int b, int h){ return l*b*h;}

float vol(float r, int h){ return 3.14*r*r*h;}

int main(){ cout<<vol(10)<<"\n"<<vol(2.5,8) <<"\n"<<vol(100,75,15)<<endl; return 0;}

Page 68: oop - Copy

Output:


Recommended