Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define TRUE 1
- #define FALSE 0
- int getMax(int numbers[]);
- int getMin(int numbers[]);
- int getSum(int numbers[]);
- float getAvg(int count, int sum);
- void sortArray(int numbers[]);
- float getMed(int numbers[]);
- int getMax(int numbers[]) {
- int high = numbers[0];
- for(int i = 0; i < 10; i++) {
- if(numbers[i] > high) {
- high = numbers[i];
- }
- }
- return high;
- }
- int getMin(int numbers[]) {
- int low = numbers[0];
- for(int i = 0; i < 10; i++) {
- if(numbers[i] < low) {
- low = numbers[i];
- }
- }
- return low;
- }
- int getSum(int numbers[]) {
- int sum = 0;
- for(int i = 0; i < 10; i++) {
- sum += numbers[i];
- }
- return sum;
- }
- float getAvg(int count, int sum) {
- int average = sum / count;
- return average;
- }
- /* https://www.lynda.com/C-tutorials/Using-loops-searching-sorting/164457/180402-4.html */
- void sortArray(int numbers[]) {
- int swapped;
- do {
- swapped = FALSE;
- for (int i = 1; i < 10; i++) {
- int temp = numbers[i];
- // If the current pair is out of order
- if (numbers[i - 1] > numbers[i]) {
- // Swap the integers in numbers[i-1] and numbers[i]
- temp = numbers[i - 1];
- numbers[i-1] = numbers[i];
- numbers[i] = temp;
- // Notify the loop that something has changed in the array
- swapped = TRUE;
- }
- }
- } while(swapped == TRUE);
- }
- /* I would prefer to do something like this: int sortedArray[10] = sortArray(numbers);
- * but I don't think it's possible to return an array from a function. Ask the teacher */
- float getMed(int numbers[]) {
- int swapped;
- do {
- swapped = FALSE;
- for (int i = 1; i < 10; i++) {
- int temp = numbers[i];
- // If the current pair is out of order
- if (numbers[i - 1] > numbers[i]) {
- // Swap the integers in numbers[i-1] and numbers[i]
- temp = numbers[i - 1];
- numbers[i-1] = numbers[i];
- numbers[i] = temp;
- // Notify the loop that something has changed in the array
- swapped = TRUE;
- }
- }
- } while(swapped == TRUE);
- // We know that the array has ten elements exactly
- // Therefore index 4 + 5 are the middle numbers
- float median = (numbers[4] + numbers[5] / 2);
- return median;
- }
- int main() {
- int numbers[10];
- printf("Please enter 10 integers:\n\n");
- for(int i = 0; i < 10; i++) {
- scanf("%i", &numbers[i]);
- }
- int sum = getSum(numbers);
- int min = getMax(numbers);
- int max = getMin(numbers);
- int avg = getAvg(10, sum);
- int median = getMed(numbers);
- sortArray(numbers);
- printf("\nMinimum: %i\n", min);
- printf("\nMaximum: %i\n", max);
- printf("\nSum: %i\n", sum);
- printf("\nAverage: %g\n", avg);
- printf("\nSorted: ");
- for(int i = 0; i < 10; i++) {
- printf("%i ", numbers[i]);
- }
- printf("\n\nMedian: %g", median);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment