Ad

Wednesday, May 30, 2007

Simple Problem in C++

Interchanging the values of two variables…

What’s the big deal. You take one extra variable; put the first variable’s value in it, copy the value of the second variable to the first one and then copy the value of the extra variable to the first one and there you are! But what, if I say that you don’t have to use the third variable, let’s say because the memory is full and you are left with memory only sufficient for storing two variables. Doesn’t make sense. Huh! It makes sense if you want to gain programming skills because solving problems is the only way to do it. In this article we start with a simple one.

So, how do we do it?

It is not very big deal to interchange the values of two variables without using the third variable yet I have come across peoples who don’t think it can be done. To solve this problem we need to do two things (i)First we need to write down the method (algorithm) of doing it (ii0 Secondly, we need to write the c++ code from the algorithm.

The Method

The method of solving this problem is discussed in a step-by-step manner to make it easily understandable.

SETP 1: Let us assume that we have two variables. First variable is named var1 and second var2.

STEP 2: WE put different values int the variables. Suppose we put the following values. var1=15 var2=5

STEP 3: We have to do the following addition and subtraction var1=var1-var2 (Now var1=10)

var2=var1+var2 (Now var2=15)

var1=var2-var1 (Now var1=5)

STEP 4: Wow! The values of the variable have been interchanged. Initially the values were var1=15; var2=5 And now they are var1=5; var2=15

Now we proceed to the second part…

Program it

All said and done; now we only need to program it.

   //Program to interchange the values of
   //two variables without using the third one
   #include<iostream.h>
   void main(void)
   {
   int var1,var2;
   cout<<"Enter two numbers:";
   cin>>var1>>var2;
   //intercahnge is done here
   var1=var1-var2;
   var2=var1+var2;
   var1=var2-var1;
   cout<<endl<<"After interchange values are:";
   cout<<endl<<var1<<endl<<var2<<endl;
   }

Simple isn’t it, how about trying this with three variables, for instance if the initial values three variables are a=5; b=15; c=25 then after interchange the values should be a=15; b=25; c=5. Go ahead its easy!

Related Articles:

9 comments:

  1. Anonymous10:46 PM

    Thanks!!!I'm new to C and your pragramme has helpd me a lot

    ReplyDelete
  2. @ Anonymous,

    My pleasure.

    Enjoy!

    ReplyDelete
  3. hi Gupta
    You could use another method a slight changes in main logic i don't say yours is bad logic,it is good logic. ijust say there is another method as follows
    #include......
    .............
    ............
    ; //intercahnge is done here
    var1=var1+var2;//var1=var1-var2;
    var2=var1-var2;//var2=var1+var2;
    var1=var1-var2;//var1=var2-var1;
    ..........
    ............

    ReplyDelete
  4. @ binoop,

    Yeah, it's allright.

    ReplyDelete
  5. Really i was using many thing to learn C n C++.I am getting alot from this in a single day.

    ReplyDelete
  6. Hi Demey,

    Thanks a lot!

    ReplyDelete
  7. Anonymous7:34 PM

    Hahahaha. I just dont get it. :))We use Bloodshed Dev C++. And only do simple problems. Much unfamiliar codes here. Hahaha.

    ReplyDelete
  8. Anonymous6:53 PM

    using ex-or operation we interchange two
    values...
    by
    chaparala rajesh

    ReplyDelete
  9. this problem is for borland c++ too?

    ReplyDelete

You are free to comment anything, although you can comment as 'Anonymous' it is strongly recommended that you supply your name. Thank You.

Please don't use abusive language.