Largest contiguous sub-array sum
MIN_INT looks pretty arbitrary (are you by any chance on a 16-bit system?). Better initialize max and current_max to array[0] (and start iterating from i = 1).
current_max = current_max + array[i] &gt; array[i] ? current_max + array[i] : array[i]; is extremely hard to read.

Notice that current_max + array[i] &gt; array[i] is a long way to say current_max &gt; 0.
compute_largest_contiguous_sum does a bit more than its name suggests. It parses the input and computes the sum. I recommend to factor the parser out, e.g. int parse_input_line(char *, int * size);. As a side note, 512 is also quite arbitrary.