Ash - 3 years ago 146

C++ Question

I am trying to read a random amount of numbers from a list in a file. From those numbers, I need to decide whether or not the numbers themselves are prime, then I need to add all of the prime numbers together to get their sum.

I am having issues with this block of my code. I'm sort of lost on how to go about obtaining the values that ARE prime and storing them so I can add them together to get their cumulative sum. I think this part of the code would go in my

`else if`

Also, there are multiple values being pulled from my list, so if I use a single variable to represent a prime number, will the variable reset itself to the next prime number it finds every time the entire loop iterates?

`bool primeCalc()`

{

int number;

bool primeValue = true;

int i;

while (inputFile >> number)

{

for (i = 2; i <= number / 2; ++i)

{

if (number % i == 0)

{

primeValue = false;

break;

}

else if (number % i > 0)

{

// some code to store number value for sum;

}

}

}

Recommended for you: Get network issues from **WhatsUp Gold**. **Not end users.**

Answer Source

Why store them and waste space? Do it as they come from the stream, like this:

```
int sum = 0;
while(inputFile >> number)
{
if(isPrime(number))
sum += (number);
}
```

where `isPrime`

could be a function of this prototype: `bool isPrime(int number);`

, which returns `true`

if `number`

is prime, otherwise false.

Recommended from our users: **Dynamic Network Monitoring from WhatsUp Gold from IPSwitch**. ** Free Download**