The C++ program to count the occurrence of a digit in a number is a simple program that receives two inputs – a number and a digit

It counts the number of times a digit appears in the given number and prints the output. The occurrence is 0 when the digit is not in the number.

This program is intended for beginners of C++ programming language. We used Dev-C++ compiler – version 4.9.9.2 installed on a Windows 7 64-bit computer. This program code will work with any standard C++ compiler if the correct header files are used.

Read: C Program to Count Frequency of Vowels

You will find the following section to help you understand the program logic.

- Problem Definition
- Flowchart of the program.
- Program Source Code
- Verified Output after running the program.

## Problem Definition

The program need two inputs as follows

- A positive integer number
- A positive digit

If you do not use positive value the program fails, so make sure that the inputs are always positive number.

We use 4 steps to solve the problem of counting the occurrence of a digit. The occurrence is stored in a variable called **count**.

- When the number is given, each digit must be separated.
*Extracted digit*is compared with the input digit.- If there is a match – (
*digit == extracted digit*), then count is incremented by 1, otherwise check the next extracted digit, until all the digits in the given number is exhausted. - Print the counted value as output.

## Flowchart – Count the Occurrence of a Digit

A flowchart of the program show that we make two comparisons during the execution of the program.

- Check if all the digits in the given number is checked – (
**while (quotient! = 0)).** - Check if extracted digits from the number is equal to input digit so that we can count the occurrence –
**if (digit == remainder).**

## Program Code – Count the Occurrence of a Digit

```
/* C++ Program to Count the Occurrence of a Digit in a Number */
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int number, remainder, quotient;
int count, digit, i;
count = digit = i = 0;
cout << "\n\n\n\n";
cout << "\t\t\tEnter the number:";
cin >> number;
cout << "\t\t\tEnter the digit:";
cin >> digit;
quotient = number;
while (quotient! = 0)
{
remainder = quotient % 10;
quotient = quotient / 10;
if (digit == remainder)
{
count = count + 1;
}
}
cout << "\n\n\n\n";
cout << "\t\t\tThe digit" << " " << digit << " " << "appeared" << " " << count << " " << "times\n\n";
getch();
return EXIT_SUCCESS;
}
```

We use two important logic in this program to count the occurrence of a digit.

`Remainder = quotient % 10;`

The above statement will store the remainder which is extracted digit we want.

For example,

will give a remainder of .

`Quotient = quotient / 10;`

The above statement will give next number from which we want to extract a digit.

For example,

will extract the digit , but next time we want to extract digit which is only possible if we have number .

So, if we divide by , the quotient is which is the number we want for next iteration to extract another digit.

## Output

The output of the program is given below.

```
Enter the number:36666
Enter the digit:6
The digit 6 appeared 4 times
```