In my recent interview, a well known company in ahmedabad having branches in all over India, I was asked to write a programm. I have to swap the values of three variables without using fourth varable. I found it really triky. I will first explain this with two variables and than show for three variables in two diffrent ways.
Lets, consider the case a = 10 and b=20. I have to write the programm so that result will be a= 20 and b= 10. Below is the steps,
a = 10;
b=20;
a = a+b; ( a= 30)
b = a - b; (b = 30 - 20 =10)
a = a-b; (a = 30-10 = 20)Fig - 1 Steps to swap the values of two variables.
Now take three variables, a= 10, b=20 and c =30. The output should be a=30, b=10 and c= 20. First way to achive this is you can use steps mentioned in Fig -1 three times. First swap a and b than a and c. Below is the steps,
a = 10;
b=20;
c=30;
a = a+b; ( a= 30)
b = a - b; (b = 30 - 20 =10)
a = a-b; (a = 30-10 = 20)// Here a= 20 and b= 10;
a = a+c; ( a= 20 + 30 = 50)
c = a - c; (c = 50 - 30 =20)
a = a-c; (a = 50-20 = 30)// Here a= 30 and c= 20;
Fig - 2 Steps to swap the values of three variables.
Second way of swapping the values of three variable is,
a = 10;
b=20;
c=30;
a = a+b+c; ( a= 60)
b = a - (b+c); (b = 60 - (20+30) =10)
c = a- (b+c); (c = 60 - (10 + 30) = 20)
a = a- (b+c); (a = 60 - (10 + 20) = 30)
Fig - 3 Steps to swap the values of three variables.
Happy Programing.
No comments:
Post a Comment