Tuesday, December 2, 2014

C++ Program that displays prime numbers in a range

#include<iostream>
using namespace std;

bool test_prime(int);

int main()
{
int primeNums;
int num,
count,number;
bool flag=1;
cout << "Enter any prime number: ";
cin >> num;
while( num<=1 )
{
cout << "Wrong Input!"
<< "\nEnter again: ";
cin >> num;
}
flag=test_prime(num); //calling function for testing as prime
while( flag==0 )
{
cout << "Not a prime number!"
<< "\nEnter again: ";
cin >> num;
flag=test_prime(num); //calling function again for testing as prime
}

cout << "\nEnter the number of primes to be displayed after "
<< num
<< ": ";
cin >> primeNums;
number=num;
int* prime=new int[primeNums]; //dinamically allocating memory
count=0;
while( count!=primeNums )
{
number+=1;
prime[count]=number;
for( int i=2 ; i<number ; i++ )
{
if( number%i==0 )
{
prime[count]=0;
break;
}
}
if( prime[count]!=0 )
count++;
}
cout << "\nPrimeNumbers after "
<< num
<< " are:";
for( count=0 ; count<primeNums ; count++ )
{
cout << "  "
<< prime[count];
}
cout << ".\n";
delete prime;
prime=0;

return 0;
}

bool test_prime(int N)
{
bool flag=1;
for( int i=2 ; i<N ; i++ )
{
if( N%i==0 )
{
flag=0;
break;
}
}
return flag;
}

No comments:

Post a Comment