/* Include lib */
#include <stdio.h>

/* Define */
#define ARRAY_MAX       16
#define ARRAY_INPUT     { 0, 1, 2, 3, 4, 5, 6, 25, 29, 9, 10, 11, 12, 13, 14, 15 }

int array_input[ARRAY_MAX] = ARRAY_INPUT;

/* API */
/* API sum array input */
int sum_array(int *arr, int size, int *sum)
{
    int i;
    
    if (!arr || !sum) {
        printf("Wrong input !!\n");
        return -1;
    }
    
    if (size <= 0)
        return -1;
        
    *sum = 0;
    for (i = 0; i < size; i++) {
        *sum = *sum + arr[i];
    }
    
    //printf("%d\n", *sum);
    return 0;
}

/* API find number which sum left = right */
int find_pos_match_left_right(int *arr, int size)
{
    int i, left_sum, right_sum;
    
    for (i = 0; i < size; i++) {
        if (sum_array(&arr[0], i, &left_sum) == 0 &&
            sum_array(&arr[i + 1], size - i - 1, &right_sum) == 0) {
            if (left_sum == right_sum)
                return i;
        }
    }
    
    return -1;
}

/* Main func interract with user */
int main() 
{
    int i, ret;
    
    printf("Input array: ");
    for (i = 0; i < ARRAY_MAX; i++) {
        printf("%d ", array_input[i]);
    }
    printf("\n");

    ret = find_pos_match_left_right(&array_input[0], ARRAY_MAX);
    if (ret >= 0)
        printf("Find location [%d] val %d\n", ret, array_input[ret]);
    else
        printf("Cannot find any matching requirement !!\n");

    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: