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!

Check out this stream