#include #include using namespace std; void sumStats(double arr[], int size, double * mean, double * range, double * median); // This assignment is worth 4 points int main() { ifstream inputFile; string fileName; int length = 0, k = 0; double placeholder; double * input = NULL; cout << "Enter file name: "; cin >> fileName; cin.ignore(); inputFile.open(fileName); if(inputFile.fail()) { cout << "File name not found. Try again." << endl; inputFile.close(); return 0; } cout << "Now reading " << fileName << "..." << endl; while(inputFile >> placeholder) // Find the size of the file length++; inputFile.close(); input = new double[length]; inputFile.open(fileName); // Already successful the first time around while(inputFile >> input[k]) k++; double avg, med, rge; sumStats(input, length, &avg, &rge, &med); cout << "Mean: " << avg << endl; cout << "Median: " << med << endl; cout << "Range: " << rge << endl; return 0; } void sumStats(double arr[], int size, double * mean, double * range, double * median) { int index_sav; for(int i = 0; i < size; i++) { index_sav = i; for(int j = i+1; j < size; j++) if(arr[j] < arr[index_sav]) index_sav = j; if(index_sav != i) { arr[i] += arr[index_sav]; arr[index_sav] = arr[i] - arr[index_sav]; arr[i] -= arr[index_sav]; } } double sum = 0; for(int i = 0; i < size; i++) sum += arr[i]; *mean = sum/size; if(size % 2 == 0) *median = (arr[size/2 - 1] + arr[size/2])/2; else *median = arr[size/2]; *range = arr[size-1] - arr[0]; }