int **split_array(const int *s, int length) {
    if (length > 0) {
        if (length%2 == 0) {
            int *even = malloc(sizeof(int) * (length/2));
            int *odd = malloc(sizeof(int) * (length/2));
            int *od = *odd;
            int *ev = *even;
        }
        else {
            int *even = malloc(sizeof(int) * (length/2 + 1));
            int *odd = malloc(sizeof(int) * (length/2));
            int *od = *odd;
            int *ev = *even;
        }
        int *od = *odd;
        int *ev = *even;
        

        for (int i = 0; i < length; i+=2) {
            ev[i] = *s[i];
        }
        
        if (length > 1) {
            for (int i = 1; i < length; i+=2) {
                od[i] = *s[i];
            }
        }
        int result[2] = {ev, od};
        
        int **ptr = &result;
        return ptr;
    }
}
Return a pointer to an array of two dynamically allocated arrays of ints.
   The first array contains the elements of the input array s that are
   at even indices.  The second array contains the elements of the input
   array s that are at odd indices.
