Find Minimum and Maximum in an Array

Code

#include <stdio.h>
#include <stdint.h>

void find_min_max(uint8_t *arr, uint8_t n, uint8_t *min, uint8_t *max) {
    // Your logic here
    if(n == 1){
        *min = arr[0];
        *max = arr[0];
    } else {
        if(arr[0] < arr[1]){
            *min = arr[0];
            *max = arr[1];
        } else {
            *min = arr[1];
            *max = arr[0];
        }
        for(int i = 2; i < n; i++){
            if(arr[i] > *max){
                *max = arr[i];
            }
            if(arr[i] < *min){
                *min = arr[i];
            }
        }
    }
    
    
    //printf("%d\n%d", *min, *max);
}

int main() {
    uint8_t n;
    scanf("%hhu", &n);
    uint8_t arr[100];

    for (uint8_t i = 0; i < n; i++) {
        scanf("%hhu", &arr[i]);
    }

    uint8_t min_val, max_val;
    find_min_max(arr, n, &min_val, &max_val);

    printf("%hhu %hhu", min_val, max_val);
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

5 10 20 5 30 15

Expected Output

5 30