Algorithms_in_C++ 1.0.0
Set of algorithms implemented in C++.
Loading...
Searching...
No Matches
sum_of_digits.cpp File Reference

A C++ Program to find the Sum of Digits of input integer. More...

#include <cassert>
#include <iostream>
Include dependency graph for sum_of_digits.cpp:

Functions

int sum_of_digits (int num)
 
void test1 ()
 
void test2 ()
 
void test ()
 
int main ()
 

Detailed Description

A C++ Program to find the Sum of Digits of input integer.

Copyright 2020

Author
iamnambiar

Function Documentation

◆ main()

int main ( void )

Main Function

68 {
69 test();
70 std::cout << "Success." << std::endl;
71 return 0;
72}
T endl(T... args)
void test()
Definition sum_of_digits.cpp:58
Here is the call graph for this function:

◆ sum_of_digits()

int sum_of_digits ( int num)

Function to find the sum of the digits of an integer.

Parameters
numThe integer.
Returns
Sum of the digits of the integer.

\detail First the algorithm check whether the num is negative or positive, if it is negative, then we neglect the negative sign. Next, the algorithm extract the last digit of num by dividing by 10 and extracting the remainder and this is added to the sum. The number is then divided by 10 to remove the last digit. This loop continues until num becomes 0.

23 {
24 // If num is negative then negative sign is neglected.
25 if (num < 0) {
26 num = -1 * num;
27 }
28 int sum = 0;
29 while (num > 0) {
30 sum = sum + (num % 10);
31 num = num / 10;
32 }
33 return sum;
34}
T sum(const std::vector< std::valarray< T > > &A)
Definition vector_ops.hpp:232

◆ test()

void test ( )

Function for testing the sum_of_digits() with all the test cases.

58 {
59 // First test.
60 test1();
61 // Second test.
62 test2();
63}
void test2()
Definition sum_of_digits.cpp:49
void test1()
Definition sum_of_digits.cpp:40
Here is the call graph for this function:

◆ test1()

void test1 ( )

Function for testing the sum_of_digits() function with a first test case of 119765 and assert statement.

40 {
41 int test_case_1 = sum_of_digits(119765);
42 assert(test_case_1 == 29);
43}
int sum_of_digits(int num)
Definition sum_of_digits.cpp:23
Here is the call graph for this function:

◆ test2()

void test2 ( )

Function for testing the sum_of_digits() function with a second test case of -12256 and assert statement.

49 {
50 int test_case_2 = sum_of_digits(-12256);
51 assert(test_case_2 == 16);
52}
Here is the call graph for this function: