Sunday, 23 November 2014

Difference between call by value and call by reference

1. In call by value we pass a copy of actual arguments to formal arguments however in call by reference we pass the original values through reference variable.
2.In call by value if we make any change in formal argument the same changes will not take place in actual argument, whereas in call by reference the changes will take place in call by reference.

Example of call by value

#include<iostream.h>
#include<conio.h>
void swap(int,int);
void main()
{
clrscr();
int x,y;
cout<<"enter two numbers "<<endl;
cin>>x>>y;
swap(x,y);  // actual arguments
cout<<"After Swapping:-"<<endl;
cout<<"The value of x is "<<x<<endl;
cout<<"The value of y is "<<y<<endl;
getch();
}
void swap(int a,int b)        // Formal arguments
{
int c;
c=a;
a=b;
b=c;
cout<<"In swap function :-"<<endl;
cout<<"The value of a is "<<a<<endl;
cout<<"The value of b is "<<b<<endl;
}

Output :
Enter two number 
10
20

In Swap function:-
The value of a is 20
The value of b is 10
In main function:-
The value of x is 10
The value of y is 20

Example of call by reference

#include<iostream.h>
#include<conio.h>
void swap(int & ,int &);
void main()
{
clrscr();
int x,y;
cout<<"enter two numbers "<<endl;
cin>>x>>y;
swap(x,y);  // actual arguments
cout<<"After Swapping:-"<<endl;
cout<<"The value of x is "<<x<<endl;
cout<<"The value of y is "<<y<<endl;
getch();
}
void swap(int &a,int &b)        // Formal arguments
{
int c;
c=a;
a=b;
b=c;
cout<<"in swap function :-"<<endl;
cout<<"The value of a is "<<a<<endl;
cout<<"The value of b is "<<b<<endl;
}


Output :
Enter two number 
10
20

In Swap function:-
The value of a is 20
The value of b is 10
In main function:-
The value of x is 20
The value of y is 10

Monday, 14 July 2014

More programs on Class Concept

Program 1

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
class stock
{
int icode,qty;
char des[20];
float price,discount;
void finddisc()
{
if(qty<=50)
discount=0;
else if(qty<=100)
discount=5;
else
discount=10;
}
public:
void buy()
{
cout<<"Enter icode,name,price,quantity"<<endl;
cin>>icode;
gets(des);
cin>>price>>qty;
finddisc();
}
void showall()
{
cout<<"The item code is"<<icode<<endl;
cout<<"The item description is"<<des<<endl;
cout<<"The Price is"<<price<<endl;
cout<<"The quantity is"<<qty<<endl;
cout<<"The discount  is"<<discount<<endl;
}
};
void main()
{
stock s;
clrscr();
s.buy();
s.showall();
getch();
}





Program 2

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
class resort
{
int rno;
char name[20];
float charges,amount;
int days;
float compute()
{
  if((days*charges)>11000)
{
return 1.02*days*charges;
}
else
{
return days * charges;
}
}
public:
void getinfo()
{
cout<<"enter room no , name , charges and days"<<endl;
cin>>rno;
gets(name);
cin>>charges>>days;
}
void dispinfo()
{
cout<<"Room No is:  " <<rno<<endl;
cout<<"Customer name is :" <<name<<endl;
cout<<"Amount is :"<<compute();
}
};
void main()
{
clrscr();
resort r;
r.getinfo();
r.dispinfo();
getch();
}




Friday, 2 May 2014

Classes & Objects
A Class is a collection of data and functions working on that data. The class follows the concept of encapsulation.
An object is an instance of class containing real world data.

In a class we simply declare member data and define member functions that work on the data but the value of the data is in correspondence to the object.

 #include<iostream.h>
#include<conio.h>
class student
{
int rno;
char name[20];
float fees;
public:
void accept()
{
cout<<"Enter the details of the student"<<endl;
cin>>rno
gets(name);
cin>>fees;
}
void disp()
{
cout<<"The rollno is '<<rno<<endl;
cout<<"The Nmae is"<<name<<endl;
cout<<"The Fees is "<<fees;
}
};
void main()
{
clrscfr();
student s;
s.accept();
s.disp();
getch();
}

Friday, 21 September 2012

On the demand of the students I am uploading some basic programs.Hope this will benefit you all.


// WRITE A PROGRAM TO ENTER TEMP IN FAHRENHIET AND CONVER IT IN CELCIUS
#include<iostream.h>
#include<conio.h>
void main()
{
float f,c;
cout<<"enter temp in fahrenheit"<<endl;
cin>>f;
c=5*(f-32)/9;
cout<<"The temp in celcius is:"<<c<<endl;
getch();
}

// WRITE A PROGRAM TO ENTER TWO NUMBERS AND SWAP THEM
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int x,y,z;
cout<<"Enter two numbers"<<endl;
cin>>x>>y;
z=x;
x=y;
y=z ;
cout<<"The numbers after swapping:"<<endl;
cout<<"x is :="<<x<<endl<<"y is :="<<y<<endl;
getch();
}



// WRITE A PROGRAM TO ENTER TWO NUMBERS AND SWAP THEM WITHOUT USING THIRD VARIABLE
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int x,y,z;
cout<<"Enter two numbers"<<endl;
cin>>x>>y;
x=x+y;
x=x-y;
y=x-y;
cout<<"The numbers after swapping:"<<endl;
cout<<"x is :="<<x<<endl<<"y is :="<<y<<endl;
getch();
}


//enter a four digit number and find the sum of first and last
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int num,first,last,sum;
cout<<"enter a four digit number"<<endl;
cin>>num;
last=num%10;
first=num/1000;
sum=first+last;
cout<<"the sum of first and last digit is ="<<sum<<endl;
getch();
}

Wednesday, 19 September 2012

Linked Stack and Linked Queue


//PROGRAM TO IMPLEMENT LINKED STACK
#include<iostream.h>
#include<conio.h>
struct node
{
int data;
node * next;
};
class stack
{
node *top;
public:
stack()
{
top=NULL;
}
void stackpush();
void stackpop();
void displaystack();
};
void stack::stackpush()
{
node *ptr;
ptr=new node;
cout<<"Enter the element to be pushed"<<endl;
cin>>ptr->data;
if(top==NULL)
ptr->next=NULL;
else
ptr->next=top;
top=ptr;
}
void stack ::stackpop()
{
node *ptr;
ptr=new node;
ptr=top;
cout<<"The popped element is "<<ptr->data;
top=top->next;
delete ptr;
}
void stack :: displaystack()
{
node *ptr;
ptr=new node;
ptr=top;
cout<<"The stack is "<<endl;
while(ptr!=NULL)
{
cout<<ptr->data<<endl;
ptr=ptr->next;
}
}
void main()
{
clrscr();
char ans;
stack s1;
do
{
s1.stackpush();
cout<<"wish to continue "<<endl;
cin>>ans;
}while(ans=='y');
s1.displaystack();
cout<<"Press any key to pop an element"<<endl;
getch();
s1.stackpop();
getch();
}





//PROGRAM TO IMPLEMENT LINKED QUEUE
#include<iostream.h>
#include<conio.h>

struct node
{
int data;
node * next;
};

class queue
{
node *front,*rear;
public:
queue()
{
rear=front=NULL;
}
void insqueue();
void delqueue();
void dispqueue();
};
void queue::insqueue()
{
node *ptr;
ptr=new node;
cout<<"Enter the element to be insert"<<endl;
cin>>ptr->data;
ptr->next=NULL;
if(rear==NULL)
front=rear=ptr;
else
{
rear->next=ptr;
rear=ptr;
}
}
void queue ::delqueue()
{
node *ptr;
ptr=new node;
ptr=front;
cout<<"The deleted element is "<<ptr->data;
if(front==rear)
front=rear=NULL;
else
front=front->next;

delete ptr;
}

void queue :: dispqueue()
{
node *ptr;
ptr=new node;
ptr=front;
cout<<"The queue is "<<endl;
while(ptr!=NULL)
{
cout<<ptr->data<<endl;
ptr=ptr->next;
}
}
void main()
{
clrscr();
char ans;
queue q1;
do
{
q1.insqueue();
cout<<"wish to continue "<<endl;
cin>>ans;
}while(ans=='y');
q1.dispqueue();
cout<<"Press any key to delete an element ...."<<endl;
getch();
q1.delqueue();
getch();
}



Friday, 14 September 2012

Array in C++

This is a new post about the important concept of C++ Programming : - ARRAY


//WRITE A PROGRAM TO ENTER TEN NUMBERS IN AN ARRAY AND DISPLAY THEM
#include<iostream.h>
#include<conio.h>
void main()
{
int arr[10],i;
cout<<"Enter Ten numbers in an array"<<endl;
for(i=0;i<10;i++)
{
cin>>arr[i];
}
cout<<"The array elements are "<<endl;
for(i=0;i<10;i++)
{
cout<<arr[i]<<endl;
}
getch();
}


//WRITE A PROGRAM TO ENTER TEN NUMBERS IN AN ARRAY AND DISPLAY THEIR SUM
#include<iostream.h>
#include<conio.h>
void main()
{
int arr[10],i,sum=0;
cout<<"Enter Ten numbers in an array"<<endl;
for(i=0;i<10;i++)
{
cin>>arr[i];
sum=sum+arr[i];
}
cout<<"The sum is "<<sum<<endl;
getch();
}


//WRITE A PROGRAM TO ENTER TEN NUMBERS IN AN ARRAY AND DISPLAY THE BIGGEST OF THEM
#include<iostream.h>
#include<conio.h>
void main()
{
int arr[10],i,big=0;
cout<<"Enter Ten numbers in an array"<<endl;
for(i=0;i<10;i++)
{
cin>>arr[i];
if(arr[i]>big)
big=arr[i];

}
cout<<"The biggest number is "<<big<<endl;
getch();
}


//WRITE A PROGRAM TO ENTER TEN NUMBERS IN AN ARRAY AND DISPLAY THE SMALLEST OF THEM
#include<iostream.h>
#include<conio.h>
void main()
{
int arr[10],i,small;
small=arr[0];
cout<<"Enter Ten numbers in an array"<<endl;

for(i=1;i<10;i++)
{
cin>>arr[i];
if(arr[i]<small)
small=arr[i];

}
cout<<"The smallest number is "<<small<<endl;
getch();
}

Monday, 10 September 2012

Stack using structure


#include<iostream.h>
#include<conio.h>
#define MAX 100
struct stack
{
int arr[MAX];
int top;
}s;
void push(stack *,int);
int pop(stack *);
void disp(stack *);

void main()
{
int ch;
s.top=-1;
clrscr();

char ans='y';
while(ans=='y'||ans=='Y')
{
clrscr();
cout<<"Operations on Stack"<<endl;
cout<<"1. Push"<<endl;
cout<<"2. Pop"<<endl;
cout<<"3.Display"<<endl;
cout<<"Enter the choice"<<endl;
cin>>ch;
 switch(ch)
 {
 case 1:
 int val;
 cout<<"enter a number to push"<<endl;
 cin>>val;
 push(&s,val);
 break;
 case 2:
 int x;
 x=pop(&s);
 cout<<"The popped element is "<<x<<endl;
 break;
 case 3:
 disp(&s);
 break;
 default:
 cout<<"invalid choice"<<endl;
 }

cout<<"do u wish to continue y/n"<<endl;
cin>>ans;
}
getch();
}
void push(stack *s1,int x)
{
if(s1->top==-1)
{
s1->top=0;
}
else if(s1->top==(MAX-1))
{
cout<<"Stack is full"<<endl;
}
else
{
s1->top++;
}
s1->arr[s1->top]=x;
}
int pop(stack *s1)
{
int temp;
if(s1->top==-1)
{
cout<<"can't pop elements"<<endl;
}
else
{
temp=s1->arr[s1->top];
s1->top--;
return temp;
}

}
void disp(stack *s1)
{
int i;
for(i=s1->top;i>=0;i--)
{
cout<<s1->arr[i]<<endl;
}
}