/* 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;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: