bool isEven(int num){
if(num % 2 == 0){
return true;
}
else {
return false;
}
}
int main() {
int footballPlayer[] = {1,2,3,4};
int lengthOfArray = sizeof(footballPlayer) / sizeof(footballPlayer[0]);
int oddMedianFormula = lengthOfArray/2;
int evenMedianFormula = lengthOfArray/2;
if(isEven(lengthOfArray) == false) {
cout << "The median is " << footballPlayer[oddMedianFormula] << endl;
} else {
if(isEven(footballPlayer[evenMedianFormula]) == true && isEven(footballPlayer[evenMedianFormula - 1] == true)) {
cout << "The median is " << (footballPlayer[evenMedianFormula - 1] + footballPlayer[evenMedianFormula]) / 2 << endl;
}
else if(isEven(footballPlayer[evenMedianFormula]) == false && isEven(footballPlayer[evenMedianFormula - 1] == false)) {
cout << "The median is " << (footballPlayer[evenMedianFormula - 1] + footballPlayer[evenMedianFormula]) / 2 << endl;
}
else {
cout << "The median is " << ((footballPlayer[evenMedianFormula - 1] + footballPlayer[evenMedianFormula]) / 2) + 0.5 << endl;
}
}
return 0;
}
output = 2;
Why is my output an integer when one number is odd when I have clearly have added a half (0.5) to the output?