How to check if an array is monotonic in C

1 Answer

0 votes
#include <stdio.h>
#include <stdbool.h>

bool isMonotonic(int *array, int size) {
    int increase = 0, decrease = 0;
    
    for (int i = 0; i < size - 1; i++) {
        if (array[i] > array[i + 1]) {
            increase = 1;
        }
        if (array[i] < array[i + 1]) {
            decrease = 1;
        }
        if (increase == 1 && decrease == 1) {
            return false;
        }
    }
    
    return true;
}

int main()
{
    int array[] = {1, 3, 4, 6, 8, 9, 11, 17, 18};
    
    int size = sizeof(array) / sizeof(array[0]);
    
    printf("%s", isMonotonic(array, size) ? "true" : "false");
}




/*
run:

true

*/

 



answered Feb 23, 2024 by avibootz

Related questions

1 answer 139 views
1 answer 113 views
1 answer 184 views
1 answer 143 views
1 answer 141 views
2 answers 168 views
1 answer 100 views
100 views asked Feb 22, 2024 by avibootz
...