# C++ Program to Display Prime Numbers Between Two Intervals Using Functions

To understand this example, you should have the knowledge of the following C++ programming topics:

## Example: Prime Numbers Between two Intervals

``````// C++ Program to Print Prime Numbers between two Numbers

#include <iostream>
bool isPrime(int);
void printPrime(int num1, int num2);

int main(){
int num1, num2;
std::cout << "Enter two positive integers: ";
std::cin >> num1 >> num2;
printPrime(num1, num2);
}
// prints the prime number between num1 and num2
void printPrime(int num1, int num2){
if (num1 > num2){
// swap if num1 is greater than num2
std::swap(num1, num2);
}
for(int i = num1 + 1 ; i < num2 ; ++i){
if (isPrime(i)){
std::cout << i << " ";
}
}
}
// returns true is the given number is true false otherwise
bool isPrime(int n){
bool is_prime = true;
// 0 and 1 are not prime numbers
if (n == 0 || n == 1) {
return false;
}
for(int i = 2; i <= n/2; ++i) {
if (n % i == 0) {
return false;
}
}
return is_prime;
}``````

Output

```Enter two positive integers: 12
55
Prime numbers between 12 and 55 are:
13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53```

To print all prime numbers between two integers, the `printPrime()` function is created. Internally it calls the `isPrime` function which checks whether a number is prime or not.

All integers between n1 and n2 are passed to the `isPrime` function.

If a number passed to `isPrime()` is a prime number, this function returns `true` and the number will be written to standard output, otherwise the function returns `false` and no action is taken.

If the user enters the larger number first, this program will first swap the numbers. This program won't work without swapping because, inside the for loop of `printPrime` function assumes that num1 is always greater than num2.