![]() |
| ||
| Need help calculating Median when array is even Please help I am writing a program that calculates the mean and median of a sequence of integers. My program works fine as long as the array is odd. Can someone please help me with a statement to calculate the median when the array is even. I have included my code for the program. #include <iostream> float mean (const int* A, size_t size); //calculates mean of data in A float median (int* A, size_t size); // calculates median of data in A void swap (int& x, int& y); // interchanges values of x and y void sort (int*A, size_t size); // sorts the data in A void bubblesort (int, int); int main() { int n; size_t size; int A [100]; size = 0; std::cout << "Enter data to calculate the mean and median: "; while((std::cin >> n) && (size < 100)) { A[size] = n; ++size; } for (size_t i = 0; i < size; i++) std::cout << A[i] << ' '; std::cout << '\n'; std::cout << "The mean of the data entered is: " << mean(A,size) << '\n'; std::cout << "The median of the data entered is: " << median(A,size)<< '\n'; for (size_t i = 0; i < size; i++) std::cout << A[i] << ' '; std::cout << '\n'; return 0; } float mean(const int* A, size_t size) { float total = 0; for (size_t i = 0; i < size; i++) total += A[i]; return total / size; } float median(int* A, size_t size) { sort(A,size); return A[size/2]; } void swap(int& x, int& y) { int hold = x; x = y; y = hold; } void sort(int* A, size_t size) // bubble sort { for (size_t pass = 0; pass < size - 1; pass ++) for (size_t j = 0; j < size - 1; j++) if (A[j] > A[j + 1]) swap(A[j], A[j+1]); } |
| ||
| Re: Need help calculating Median when array is even >Can someone please help me with a statement to calculate the median when the array is even. Take the median of the two middle items: a[size / 2] and a[size / 2 + 1]. |
| ||
| Re: Need help calculating Median when array is even >>Can someone please help me with a statement to calculate the median when the array is even. >Take the median of the two middle items: a[size / 2] and a[size / 2 + 1]. Wouldn't that be the mean of a[size / 2] and a[size / 2 - 1]? |
| ||
| Re: Need help calculating Median when array is even Quote:
|
| ||
| Re: Need help calculating Median when array is even ((n/2)+(n+1)/2)/2 n is the nmber of elements in the array i e if yr array was x[n]; median = ((x[n]/2)+(x[n]+1)/2)/2; |
| ||
| Re: Need help calculating Median when array is even Quote:
sorry again it will b ((x[n]/2)+(x[n+1])/2)/2 |
| ||
| Re: Need help calculating Median when array is even Quote:
#include <iostream> |
| ||
| Re: Need help calculating Median when array is even float median(int* x, int n) { return ((x[n/2])+(x[(n/2)+1]))/2; } |
| ||
| Re: Need help calculating Median when array is even tell me when it works |
| ||
| Re: Need help calculating Median when array is even Uh... look up. Oh nevermind. float median(int* x, int n) |
| All times are GMT -4. The time now is 9:49 am. |
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC