How to find all elements (leaders) in an array that are greater than all elements to their right in C

1 Answer

0 votes
#include <stdio.h>

void PrintArrayLeaders(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        int j;
        for (j = i + 1; j < size; j++) {
            if (arr[i] <= arr[j])
                break;
        }
        if (j == size)
            printf("%d", arr[i]);
    }
}

int main(void)
{
    int arr[] = { 1, 99, 16, 5, 75, 9, 50, 60, 0, 19 };

    int size = sizeof(arr) / sizeof(arr[0]);

    PrintArrayLeaders(arr, size);

    return 0;
}





/*
run:

99 75 60 19

*/

 



answered Aug 30, 2022 by avibootz
...