Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
77 views

C++ Programs

The document contains code snippets demonstrating different sorting algorithms including binary search, bubble sort, selection sort, insertion sort, and linked lists implementing queue, stack, circular queue structures. It also includes code for recursion, inheritance, dynamic arrays, function overloading, and constructor/destructor functions in C++.

Uploaded by

Ak Tiwari
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views

C++ Programs

The document contains code snippets demonstrating different sorting algorithms including binary search, bubble sort, selection sort, insertion sort, and linked lists implementing queue, stack, circular queue structures. It also includes code for recursion, inheritance, dynamic arrays, function overloading, and constructor/destructor functions in C++.

Uploaded by

Ak Tiwari
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 54

Binary searching in an array

#include<iostream.h>
#include<conio.h>
int bsearch(int ar[],int size,int item){
int mid,beg=0,last=size-1;
while(beg<=last){
mid=(beg+last)/2;
if(item==ar[mid]){
return mid;
}else if(item>ar[mid]){
beg=mid+1;
}else{
last=mid-1;
}
}
return -1;
}
void main(){
clrscr();
int ar[50],n,item,index;
cout<<"HOW MANY ELEMENTS OF ARRAY DO YOU WANT TO CREATE(MAX 50)"<<endl;
cin>>n;
cout<<"ENTER ARRAY ELEMENTS"<<endl;
for(int i=0;i<n;i++){
cin>>ar[i];
}
cout<<"ENTER ELEMENT TO BE SEARCHED "<<endl;
cin>>item;
index=bsearch(ar,n,item);
if(index==-1){
cout<<"SORRY ELEMENTS "<<item<<" IS NOT FOUND"<<endl;
}else{
cout<<"ELEMENT FOUND AT INDEX: "<<index<<endl;
cout<<"AT POSTION "<<index+1<<endl;
}
getch();
}
Bubble Sort

#include<iostream.h>
#include<conio.h>
void bubblesort(int ar[],int size){
int temp;
for(int i=0;i<size;i++){
for(int j=0;j<(size-1);j++){
if(ar[j]>ar[j+1]){
temp=ar[j];
ar[j]=ar[j+1];
ar[j+1]=temp;
}
}
}
}
void main(){
clrscr();
int ar[50],n;
cout<<"HOW MANY ELEMENTS OF ARRAY DO YOU WANT TO CREATE(MAX 50)"<<endl;
cin>>n;
cout<<"ENTER ARRAY ELEMENTS"<<endl;
for(int i=0;i<n;i++){
cin>>ar[i];
}
bubblesort(ar,n);
cout<<"SORTED ARRAY IS BELOW"<<endl;
for(int j=0;j<n;j++){
cout<<ar[j]<<endl;
}
getch();
}
Selection Sort

#include<iostream.h>
#include<conio.h>
void selsort(int ar[],int size){
int tmp;
for(int i=0;i<size;i++){
for(int j=i+1;j<size;j++){
if(ar[i]>ar[j]){
tmp=ar[i];
ar[i]=ar[j];
ar[j]=tmp;
}
}
}
}
void main(){
clrscr();
int ar[50],n;
cout<<"HOW MANY ELEMENTS OF ARRYA DO YOU WANT TO CREATE(MAX 50)"<<endl;
cin>>n;
cout<<"ENTER ARRAY ELEMENTS"<<endl;
for(int i=0;i<n;i++){
cin>>ar[i];
}
selsort(ar,n);
cout<<"THE SORTED ARRAY IS BELOW"<<endl;
for(int j=0;j<n;j++){
cout<<ar[j]<<endl;
}
getch();
}
Insertion sort

#include<iostream.h>
#include<conio.h>
void insertsort(int ar[],int size){
int tmp,j;
for(int i=1;i<size;i++){
tmp=ar[i];
j=i-1;
while((tmp<ar[j])&&(j>=0)){
ar[j+1]=ar[j];
j=j-1;
}
ar[j+1]=tmp;
}
}
void main(){
clrscr();
int ar[50],n;
cout<<"HOW MANY ELEMENTS OF ARRAY DO YOU WANT TO CREATE(MAX 50)"<<endl;
cin>>n;
cout<<"ENTER ARRAY ELEMENTS"<<endl;
for(int i=0;i<n;i++){
cin>>ar[i];
}
insertsort(ar,n);
cout<<"THE SORTED ARRAY IS BELOW"<<endl;
for(int j=0;j<n;j++){
cout<<ar[j]<<endl;
}
getch();
}
Linked list- Queue

#include<iostream.h>
#include<conio.h>
struct node{
int data;
node* next;
};
node* push(node* rear,int val);
node* pop(node* front,int &val);
void show_stack(node* front);
main(){
clrscr();
node* front;
node* rear;
int val,choice;
front=rear=NULL;
do{
cout<<"\n ++++++MENU++++++";
cout<<"\n 1.> PUSH";
cout<<"\n 2.> POP";
cout<<"\n 3.> SHOW_QUEUE";
cout<<"\n 4.> EXIT";
cout<<"\n ENTER CHOICE ";
cin>>choice;
switch(choice){
case 1:cout<<"\n Enter the value to push ";
cin>>val;
rear=push(rear,val);
if(front==NULL)
front=rear;
break;
case 2:front=pop(front,val);
if(val!=NULL)
cout<<"\n POPED VALUE "<<val;
if(front==NULL)
rear=front;
break;
case 3:show_stack(front);
break;
}
}
while(choice!=4);
return 0;
}
node* push(node* rear,int val){
node* ptr;
ptr=new node;
ptr->data=val;
ptr->next=NULL;
if(rear!=NULL)
rear->next=ptr;
rear=ptr;
return rear;
}
node* pop(node* front,int &val){
node* ptr;
if(front==NULL){
cout<<"\n EMPTY STACK";
val=NULL;
}else{
ptr=front;
front=front->next;
val=ptr->data;
delete ptr;
}
return front;
}
void show_stack(node* front){
node* ptr;
ptr=front;
cout<<"\n THE QUEUE IS ";
while(ptr!=NULL){
cout<<"\n"<<ptr->data;
ptr=ptr->next;
}
}
Linked list- Stack
#include<iostream.h>
#include<conio.h>
struct node{
int data;
node* next;
};
node* push(node* top,int val);
node* pop(node* top,int &val);
void show_stack(node* top);
main(){
clrscr();
node* top;
int val,choice;
top=NULL;
do{
cout<<"\n ++++++MENU++++++";
cout<<"\n 1.> PUSH";
cout<<"\n 2.> POP";
cout<<"\n 3.> SHOW_STACK";
cout<<"\n 4.> EXIT";
cout<<"\n ENTER CHOICE ";
cin>>choice;
switch(choice){
case 1:cout<<"\n Enter the value to push ";
cin>>val;
top=push(top,val);
break;
case 2:top=pop(top,val);
if(val!=NULL)
cout<<"\n POPED VALUE "<<val;
break;
case 3:show_stack(top);
break;
}
}
while(choice!=4);
return 0;
}
node* push(node* top,int val){
node* ptr;
ptr=new node;
ptr->data=val;
ptr->next=top;
top=ptr;
return top;
}
node* pop(node* top,int &val){
node* ptr;
if(top==NULL){
cout<<"\n EMPTY STACK";
val=NULL;
}else{
ptr=top;
top=top->next;
val=ptr->data;
delete ptr;
}
return top;
}
void show_stack(node* top){
node* ptr;
ptr=top;
cout<<"\n THE STACK IS ";
while(ptr!=NULL){
cout<<"\n"<<ptr->data;
ptr=ptr->next;
}
}
Circular Queue

#include<iostream.h>
#include<conio.h>
void display(int Q[],int front,int rear);
void add(int Q[],int front ,int &rear,int val);
int del(int Q[],int &front,int rear);
int n;
main(){
clrscr();
int Q[50],front,rear,val,choice;
cout<<"\n Enter the size of queue ";
cin>>n;
front=rear=0;
do{
cout<<"\n ++++++Menu++++++";
cout<<"\n 1.>ADD";
cout<<"\n 2.>DELETE";
cout<<"\n 3.>DISPLAY";
cout<<"\n 4.>EXIT";
cout<<"\n Enter Choice ";
cin>>choice;
switch(choice){
case 1:cout<<"\n Enter the value to Add ";
cin>>val;
add(Q,front,rear,val);
break;
case 2: val=del(Q,front,rear);
if(val!=NULL)
cout<<"\n DELETED VALUE "<<val;
break;
case 3:cout<<"\n The Queue is ";
display(Q,front,rear);
break;
}
}
while(choice!=4);
return 0;
}
void add(int Q[],int front,int &rear,int val){
if((rear+1)%n==front)
cout<<"\n The Queue is full ";
else{
rear=(rear+1)%n;
Q[rear]=val;
}
}
int del(int Q[],int &front ,int rear){
int v;
if(front!=rear){
front=(front+1)%n;
v=Q[front];
return v;
}else{
cout<<"\n Queue is empty ";
return NULL;
}
}
void display(int Q[],int front,int rear){
while(front!=rear){
front = (front+1)%n;
cout<<"\n"<<Q[front];
}
}
Recursion program

#include<iostream.h>
#include<conio.h>
long int fact(long int n);
main(){
clrscr();
long int num;
cout<<"\n Enter Number ";
cin>>num;
cout<<"\n Factorial is "<<fact(num);
getch();
}
long int fact(long int n){
if(n==0)
return 1;
else
return (n*fact(n-1));
}

Program to demonstrate inheritance of


class

#include<iostream.h>
#include<conio.h>
#include<string.h>
class person{
char name[20];
int age;
public:
void ReadData(){
cout<<"\n Enter Name ";
cin>>name;
cout<<"\n Enter Age ";
cin>>age;
}
void DispData(){
cout<<"\n Name :- "<<name;
cout<<"\n Age :- "<<age;
}

};
class Student : public person{
int roll,tmarks;
char grade[2];
public:
void GetData(){
ReadData();
cout<<"\n Rollno ";
cin>>roll;
cout<<"\n Total Marks ";
cin>>tmarks;
Compute_Grade();
}
void Compute_Grade(){
if(tmarks<200)
strcpy(grade,"D");
if(tmarks<240)
strcpy(grade,"C");
if(tmarks<320)
strcpy(grade,"B");
else
strcpy(grade,"A");
}
void ShowData(){
cout<<"\n Marks:- "<<tmarks;
cout<<"\n Grade:- "<<grade;
cout<<"\n Roll No:- "<<roll;
}
};
main(){
clrscr();
Student st;
st.GetData();
st.DispData();
st.ShowData();
getch();
}
Program to illustrate dynamic array

#include<iostream.h>
#include<conio.h>
struct Student {
char Name[15];
int roll;
Student *next;
};
main(){
clrscr();
Student *first,*last,*ptr;
int i,n,found=0,id;
cout<<"\n Enter Size Of List ";
cin>>n;
if(n==0){
cout<<"\n error ";
return 0;
}
first = new Student;
cout<<"\n Enter Name ";
cin>>first->Name;
cout<<"\n Enter RollNo ";
cin>>first->roll;
first->next=NULL;
last=first;
for(i=1;i<n;i++){
ptr=new Student;
cout<<"\n Enter Name ";
cin>>ptr->Name;
cout<<"\n Enter RollNo ";
cin>>ptr->roll;
ptr->next=NULL;
last->next=ptr;
last=ptr;
}
cout<<"\n Enter Data Id to search ";
cin>>id;
last=first;
while((last!=NULL)&&(!found)){
if(last->roll==id){
found=1;
}else{
last=last->next;
}
}
if(found==1){
cout<<"\n The Name is:- "<<last->Name;
cout<<"\n The RollNo is:- "<<last->roll;
}else{
cout<<"\n Unsucessfull";
}
getch();
}
Function Overloading

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

int Inc(int i){


i++;
return i;
}
float Inc(float f){
f++;
return f;
}
char Inc(char c){
c++;
return c;
}
void main(){
clrscr();
int i,choice;
float f;
char c;
cout<<"\n +++Increment+++";
cout<<"\n 1.>Integer value ";
cout<<"\n 2.>Deciaml Value ";
cout<<"\n 3.>Character value ";
cout<<"\n Enter Choice ";
cin>>choice;
switch(choice){
case 1:cout<<"\n Enter a Integer value ";
cin>>i;
cout<<"Now "<<i<<" is "<<Inc(i);
break;
case 2:cout<<"\n Enter a Decimal value ";
cin>>f;
cout<<"Now "<<f<<" is "<<Inc(f);
break;
case 3:cout<<"\n Enter a Character value ";
cin>>c;
cout<<"Now "<<c<<" is "<<Inc(c);
break;
}
getch();
}
Constructor – Destructor

#include<iostream.h>
#include<conio.h>
#include<string.h>
class Address{
public:
int Hno;
char city[40];
Address(){
cout<<"\n Contructor run";
}
Address(int i, char y[20]){
Hno=i;
strcpy(city,y);
}
Address(Address &obj){
Hno=obj.Hno;
strcpy(city,obj.city);
}
~Address(){
cout<<"\n Destructor run";
}
void Display(){
cout<<"\n House Number :- "<<Hno;
cout<<"\n City Is :- "<<city;
}
};
void main(){
clrscr();
int i;
char c[40];
cout<<"\n Enter House No "; // To input values ";
cin>>i;
cout<<"\n Enter City Name "; // To input values ";
cin>>c;
{
Address ad;
Address ad1(i,c);//Using Parameterized Constructor !!!";
Address ad2(ad1);//Using Copy Constructor to Copy values into another Object!!!";
ad2.Display();//And show the output";
}
getch();
}
Operations in 1-D Array
#include<iostream.h>
#include<conio.h>
main(){
clrscr();
int array[20];
char c;
int choose,ch,size,i;
cout<<"ENTER SIZE OF ARRAY :- ";
cin>>size;
do{
cout<<"\n++++MENU++++";
cout<<"\n1.>ADD INTO ARRAY";
cout<<"\n2.>+,-,/,*";
cout<<"\n3.>SHOW ARRAY";
cout<<"\n4.>EXIT";
cout<<"\nENTER CHOISE :- ";
cin>>choose;
switch(choose){
case 1:
cout<<"\nENTER NUMBERS TO ENTER\n";
for(i=0;i<size;i++){
cin>>array[i];
}
break;
case 2:
cout<<"\nENTER OPERATION\n";
cin>>c;
if(c=='+'){
int a;
for(i=0;i<size;i++){
cout<<"\nENTER NUMBER TO ADD IN EACH\n";
cin>>a;
array[i]+=a;
break;
}
}
if(c=='-'){
int a;
for(i=0;i<size;i++){
cout<<"\nENTER NUMBER TO SUBTRACT IN EACH\n";
cin>>a;
array[i]-=a;
break;
}
}
if(c=='/'){
int a;
for(i=0;i<size;i++){
cout<<"\nENTER NUMBER TO DIVIDE IN EACH\n";
cin>>a;
array[i]/=a;
break;
}
}
if(c=='*'){
int a;
for(i=0;i<size;i++){
cout<<"\nENTER NUMBER TO MULTIPLY IN EACH\n";
cin>>a;
array[i]*=a;
break;
}
}
break;
case 3:
for(i=0;i<size;i++)
cout<<array[i]<<" ";
cout<<endl;
break;
}
}while(choose!=4);
return 0;
}
Binary file – Student data
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
struct Student{
char name[20];
int roll;
int total;
int s1,s2,s3;
};
main(){
clrscr();
Student st;
char fname[80];
int n,i,size;
int choose;
size=sizeof(Student);
do{
cout<<"\n++++MENU++++";
cout<<"\n1.>WRITE FILE ";
cout<<"\n2.>READ FILE ";
cout<<"\n3.>EXIT ";
cout<<"\nENTER CHOISE : ";
cin>>choose;
switch(choose){
case 1:
cout<<"\n ENTER FILE NAME TO CREATE ";
cin>>fname;
ofstream ofile;
ofile.open(fname);
cout<<"\n ENTER NUMBER OF STUDENTS : ";
cin>>n;
for(i=0;i<n;i++){
cout<<"\nENTER NAME : ";
cin>>st.name;
cout<<"\nENTER ROLL NUMBER : ";
cin>>st.roll;
cout<<"\nENTER MARKS(3 SUBJECTS) : ";
cin>>st.s1>>st.s2>>st.s3;
st.total=st.s1+st.s2+st.s3;
ofile.write((char*)&st,size);
}
ofile.close();
break;
case 2:
cout<<"\n ENTER FILE NAME TO OPEN ";
cin>>fname;
ifstream ifile;
ifile.open(fname);
cout<<"\nENTER NUMBER OF RECORDS TO READ FROM : ";
cin>>n;
cout<<"\n THE LIST IS :\n";
for(i=0;i<n;i++){
ifile.read((char*)&st,size);
cout<<"\n NAME IS : "<<st.name;
cout<<"\n ROLL IS : "<<st.roll;
cout<<"\n TOTAL MARKS : "<<st.total;
}
ifile.close();
break;
}
}while(choose!=3);
return 0;
}
Copying one binary file to Other file
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<string.h>
void main(){
clrscr();
ifstream fs;
ofstream of;
char ext[]=".TXT";
char ch[80],fname1[20],fname2[20];
cout<<"ENTER SOURCE FILE :- ";
cin>>fname1;
strcat(fname1,ext);
fs.open(fname1);
cout<<"ENTER TARGET FILE :- ";
cin>>fname2;
strcat(fname2,ext);
of.open(fname2);
while(!fs.eof()){
fs.getline(ch,80);
of<<ch;
}
cout<<"FILE COPIED SUCCESSFULLY ";
fs.close();
of.close();
getch();
}
Sum of Diagonals of a square matrix
#include<iostream.h>
#include<conio.h>
void main(){
clrscr();
int a[10][10],dsum1=0,dsum2=0,m,i,j;
cout<<"ENTER SIZE OF THE SQUARE MATRIX (MAX 10):- ";
cin>>m;
cout<<"\n ENTER THE MATRIX ROW WISE:-\n";
for(i=0;i<m;++i){
for(j=0;j<m;++j){
cin>>a[i][j];
}
}

for(i=0;i<m;++i){
for(j=0;j<m;++j){
if(i==j){
dsum1+=a[i][j];
}
if(i+j==(m-1)){
dsum2+=a[i][j];
}
}
}
cout<<"\n SUM OF 1st DIAGONAL IS "<<dsum1;
cout<<"\n SUM OF 2nd DIAGONAL IS "<<dsum2;
getch();
}

Output
Program to print the pattern

#include<iostream.h>
#include<conio.h>
void main(){
clrscr();
int i,j,rows,k=0;
char input;
char alphabet='A';
cout<<"ENTER NUMBER OF ROWS :- ";
cin>>rows;
cout<<endl;
for(i=1;i<=rows;++i){
for(j=1;j<=i;++j){
cout<<"* ";
}
cout<<endl;
}
cout<<endl;
for(i=1;i<=rows;++i){
for(j=1;j<=i;++j){
cout<<j<<" ";
}
cout<<endl;
}
cout<<endl;
for(i=1;i<=rows;++i,k=0){
for(j=1;j<=rows-i;++j){
cout<<" ";
}
while(k!=2*i-1){
cout<<"* ";
++k;
}
cout<<endl;
}
cout<<endl;
cout<<"ENTER A UPPERCASE LETTER FOR ENDING :- ";
cin>>input;
cout<<endl;
for(i=1;i<=(input-'A'+1);++i){
for(j=1;j<=i;++j){
cout<<alphabet<<"";
}
++alphabet;
cout<<endl;
}
getch();
}
String Palindrome

#include<iostream.h>
#include<conio.h>
#include<string.h>
void main(){
clrscr();
char string[20];
int i;
int length;
int flag=0;
cout<<"ENTER A STRING :- \n";
cin>>string;
length=strlen(string);
for(i=0;i<length;i++){
if(string[i]!=string[length-i-1]){
flag=1;
break;
}
}
if(flag){
cout<<string<<" IS NOT A PALINDROME"<<endl;
}
else{
cout<<string<<" IS A PALINDROME"<<endl;
}
getch();
}
Read and Write in a text file

#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<stdio.h>
#include<string.h>
main(){
clrscr();
char fname[80];
char ext[]=".txt";
char row[80],message[250];
int choose,i,size,n;
do{
cout<<"\n++++MENU++++";
cout<<"\n1.>WRITE IN TXT FILE ";
cout<<"\n2.>READ FROM TXT FILE ";
cout<<"\n3.>EXIT \n";
cin>>choose;
switch(choose){
case 1:
cout<<"\nENTER FILE NAME TO CREATE ";
cin>>fname;
strcat(fname,ext);
ofstream ofile;
ofile.open(fname);
cout<<"\nENTER THE MESSAGE : \n";
gets(message);
size=strlen(message);
for(i=0;i<=size;i++){
ofile.put(message[i]);
}
ofile.close();
break;
case 2:
cout<<"\nENTER FILE NAME TO OPEN ";
cin>>fname;
strcat(fname,ext);
ifstream ifile;
ifile.open(fname);
cout<<"\nENTER NUMBER OF LINE TO READ : ";
cin>>n;
cout<<"\nTHE MESSAGE IS : \n";
for(i=0;i<n;i++){
ifile.getline(row,80);
cout<<row<<endl;
}
ifile.close();
break;
}
}while(choose!=3);
return 0;
}
To search a word in a file

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<fstream.h>
void main(){
//ADD USERMESSAGE.TXT IN BIN FOLDER
clrscr();
ifstream fin;
fin.open("USERMESSAGE.TXT");
char string[20];
int bool=0;
int len;
cout<<"PLEASE ENTER A USERNAME :- \n";
cin>>string;
len=strlen(string);
while(!fin.eof()){
char temp[80];
fin.getline(temp,80);
for(int i=0;i<len;i++){
if(temp[i]==string[i]){
bool=1;
}else{
bool=0;
break;
}
}
if(bool){
cout<<"\nMESSAGE IS :- \n";

for(int i=len+1;i<strlen(temp);i++)
cout<<temp[i];
break;
}

}
if(fin.eof()&&(!bool))
cout<<"\nMESSAGE NOT FOUND SORRY !!!";

fin.close();
getch();
}

You might also like