In C++, a integer divided by a integer will still be a integer (actually any math operation with two integer will provide a integer). So you should either cast them to double first:
midEven = static_cast<double>( *(pScores + midRight) + *(pScores + midLeft) ) / 2;
or divide them by 2.0 which is a double.
midEven = ( *(pScores + midRight) + *(pScores + midLeft) ) / 2.0;
However, there is a potential problem with both approaches, which is that the sum of two scores might exceed the limit of integer. So if you thinks that's likely to happen, a more careful way is:
midEven = ( static_cast<double>(pScores[midRight]) + static_cast<double>(pScores[midLeft]) ) / 2;