vendredi 13 mars 2015

Prime number finding program using bool values


I am trying to write a program in C++ that, given a data file that includes random integers, identifies each integer as prime or not prime, and counts the integers. Here is what I have so far:



#include <iostream>
using namespace std;
int main()
{
int number; //number to be tested
int count = 0; //count of integers in file
cin >> number;
while (cin)
{
bool prime = true;
if (number <= 0)
{
prime = false;
}
else
{
for (int i=2; i<number; i++)
if (number % i == 0)
{
prime = false;
break;
}
}

if (prime = true)
cout << number << " is a prime number." << endl;
if (prime = false)
cout << number << " is not a prime number." << endl;
cin >> number;
count++;
}
cout << "The file contains " << count << " integers" << endl;
return 0;
}


The program compiles, but finds all values in a data set as not prime. Here is what I got as output from a data file:


24 is a prime number.

13 is a prime number.

18 is a prime number.

-25 is a prime number.

42 is a prime number.

0 is a prime number.

2 is a prime number.

The file contains 7 integers


Any suggestions? Am I using the bool values correctly? Thank you




Aucun commentaire:

Enregistrer un commentaire