/* Name: Garrett Haldrup # lab11.c # Purpose: Solves problems assigned in Lab 11 */ #include #include #include float findMax(float array[], int n); float findMin(float array[], int n); float getMean(float array[], int n); float getStd(float array[], int n); void raiseWages(float wages[], float raises[], int n); void printArray(float array[], int n); int main() { printf("This program will calculate the max, min, mean, and std of a number set\n"); printf("It will also update a wages array through a function call\n\n"); float result; float testFloats[] = {85, 93.3, 90.5}; float wages[] = {15.00, 14.75, 15.00, 19.50, 13.00}; float raises[] = { 1.00, 2.00, 1.50, 0.00, 1.50}; float newWages[] = {16, 16.75, 16.5, 19.5, 14.5}; int testFloatSize = sizeof(testFloats)/sizeof(testFloats[0]); int wageSize = sizeof(wages)/sizeof(wages[0]); result = findMax(testFloats, testFloatSize); assert(result - 93.3 <= 0.001); printf("Max of set is: %.1f\n", result); printf("Pass!---------------------------------------------------\n"); result = findMin(testFloats, testFloatSize); assert(result - 85.0 <= 0.001); printf("Min of set is: %.1f\n", result); printf("Pass!---------------------------------------------------\n"); result = getMean(testFloats, testFloatSize); assert(result - 89.6 <= 0.001); printf("Mean of set is: %.1f\n", result); printf("Pass!---------------------------------------------------\n"); result = getStd(testFloats, testFloatSize); assert(result - 3.4477 <= 0.001); printf("Std of set is: %.1f\n", result); printf("Pass!---------------------------------------------------\n"); printf("\n"); raiseWages(wages, raises, wageSize); for (int i = 0; i < wageSize; i++) { printf("wages[%d] = %.2f = %.2f\n", i, wages[i], newWages[i]); assert(wages[i] - newWages[i] <= 0.000001); printf("Pass!---------------------------------------------------\n"); } printArray(wages, wageSize); return 0; } float findMax(float array[], int n) { float max = array[0]; for (int i = 1; i < n; i++) { if (array[i] > max) { max = array[i]; } } return max; } float findMin(float array[], int n) { float min = array[0]; for (int i = 1; i < n; i++) { if (array[i] < min) { min = array[i]; } } return min; } float getMean(float array[], int n) { float sum = 0; for (int i = 0; i < n; i++) { sum += array[i]; } return sum / n; } float getStd(float array[], int n) { float sum = 0; float mean = getMean(array, n); for (int i = 0; i < n; i++) { sum += pow(array[i] - mean, 2); } return sqrt(sum / n); } void raiseWages(float wages[], float raises[], int n) { for (int i = 0; i < n; i++) { wages[i] += raises[i]; } } void printArray(float array[], int n) { printf("{%.2f", array[0]); for (int i = 1; i < n; i++) { printf(", %.2f", array[i]); } printf("}\n"); }