Ad

Wednesday, June 13, 2007

Method of Adding Individual Digits of a Number

NOTE: The program discussed in this article has no use in practice but it would definitely help you understand a few things, so please read on…

What this program does is that it takes a number as input (such as 12345) and outputs the sum of the individual digits, which in this case is 15 (1+2+3+4+5).

For achieving the required result, we need to do two things, first we should store each of the individual digits in the number and second, we need to add those numbers, which will give us the required result.

Let us move on to the first stage where we need to separate the digits. Here are the steps:-

  • STEP 1: We declare a variable num as integer type and an array sep[] again as integer type.

           Suppose num=12345
         
  • STEP 2: We will be fetching digits from the right (5) to left (1). For this, we use the modulus (%) operator which divides two numbers, giving us the remainder.
           sep[0]=12345 % 10
          
           Now,
           num=12345
           sep[0]=5 (last digit has been fetched)
         
  • STEP 3: Now num is divided by 10 and stored to itself (i.e. num).
         num=num/10
        
         Now,
         num=1234 (integer type cannot hold fractional values,
         which ultimately gets  eliminated)
         sep[0]=5
       
  • STEP 4: Step 2 and Step 3 are repeated until num<10.
  • STEP 5: Now,
           num=1
           sep[0]=5
           sep[1]=4
           sep[2]=3
           sep[3]=2
           Now, we just need to store the value of num to
           sep[4] and -1 is to sep[5]
           (it will mark the end of array)
          
           We have,
           sep[0]=5
           sep[1]=4
           sep[2]=3
           sep[3]=2
           sep[4]=1
           sep[5]=-1

The easy part, now we just need to add all the elements in the array sep[] until the end of array is reached (-1).

Here is the program…

  //C++ Program to add the digits of a
  //number individually and output the sum
  #include<iostream.h>
  void main(void)
  {
   int i=0,total=0,num;
   int sep[10];

   cout<<"Enter any number: ";
   cin>>num;

   while(num>=10)
     {
      sep[i]=num%10;
      num=num/10;
      i++;
     }

   sep[i]=num;
   sep[i+1]=-1;
   i=0;

   while(sep[i]!=-1)
     {
      total=total+sep[i];
      i++;
     }

   cout<<endl<<"TOTAL: "<<total<<endl;
  }

Hope this helps!

6 comments:

  1. Anonymous3:45 AM

    very useful...Love you

    ReplyDelete
  2. Thank You so much.

    hehe .lol.

    ReplyDelete
  3. Anonymous12:59 PM

    really useful one nice explanation


    thanks

    ReplyDelete
  4. Thank you, nice work.

    ReplyDelete
  5. Thank you, nice work.

    ReplyDelete
  6. Anonymous10:27 AM

    how to add 1st and last digit number in c++???

    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.