# Write a loop that reads positive integers from standard input and that terminates when it reads an integer that is not positive. After the loop terminates , it prints out the sum of all the even integers read and the sum of all the odd integers read. Declare any variables that are needed.

4

### CHALLENGE:

Write a loop that reads positive integers from standard input and that terminates when it reads an integer that is not positive. After the loop terminates , it prints out the sum of all the even integers read and the sum of all the odd integers read. Declare any variables that are needed.

### SOLUTION:

```
int odd=0;
int even=0;
int i=1;

while (i>0){
cin >> i;
if ((i % 2)==0 && (i>0)){
even+=i;
}

if ((i % 2)!=0 && (i>0)){
odd+=i;
}
}
cout << even << " " << odd;

```

• Ryan.Limanne says:

If this program does not work, try replacing:
cout << even << " " << odd;
with
cout << even << "" << endl;

• Malcolm A. Morgan says:

THIS IS THE CODE FOR C:

int even=0;
int i=1;

while (i>0){
scanf(“%d”,&i);
if ((i % 2)==0 && (i>0)){
even+=i;
}

}
printf(“%d”,even);

• matt says:

int num = 1;
int sumE = 0;
int sumO = 0;
int sumECounter = 0;
int sumOCounter = 0;

while (num > 0){
cin >> num;
if ((num%2 == 0) && (num>0)){
sumE += num;
sumECounter++;
}
if ((num%2 != 0) && (num>0)){
sumO += num;
sumOCounter++;
}
}
cout << sumE << " " << sumO << " " << sumECounter << " " << sumOCounter << endl;

• TheGreatest says:

int odd=0;
int even=0;
int sumOdd=0;
int sumEven = 0;
int i=1;

while (i>0){
cin >> i;
if ((i % 2)==0 && (i>0)){
sumEven += i;
even++;
}

if ((i % 2)!=0 && (i>0)){
sumOdd += i;
odd++;
}
}
cout << sumEven << " " << sumOdd << " " << even << " " << odd;