Question: This C++ program keeps giving me the wrong median. #include using namespace std; double median_value(int* arrptr, int n); class Median { private: int* array; int

This C++ program keeps giving me the wrong median.

#include using namespace std; double median_value(int* arrptr, int n); class Median { private: int* array; int n; public: void getSizeArray(); void getNumElements(); void displayMedian(); ~Median() { delete[] array; } }; void Median::getSizeArray() { cout << "How big is array?"; cin >> n; } void Median::getNumElements() { array = new int[20]; for (int i = 0; i < n; i++) { cout << "How much "; cin >> *(array + i); } } void Median::displayMedian() { int m = median_value(array, n); cout << m; } int main() { Median showMedian; showMedian.getSizeArray(); showMedian.getNumElements(); showMedian.displayMedian(); return 0; } double median_value(int* arrptr, int n) { double median; if (n % 2 == 0) { median = (*(arrptr + (n / 2)) + *(arrptr + (n / 2 +1))) / 2; } else { //(arrptr[i]+(n/2)) median = *(arrptr + (n / 2)); } return median; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

Answer Your C program to find the median seems to have some issues Heres a corrected version of your ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!