#include <stdio.h>
#include <stdlib.h>
#define ARR_SIZE 3
FILE *
openInputFile(void)
{
FILE *fp = fopen("input.txt","r");
if (fp == NULL)
{
printf("Could not open file: input.txt\n");
exit(EXIT_FAILURE);
}
return fp;
}
int
sumArray(int *array, int size)
{
int sum = 0;
for (int i = 0; i < size; i++)
sum += array[i];
return sum;
}
int
main(void)
{
FILE *fp = openInputFile();
int increases = 0;
int array[ARR_SIZE] = { 0 };
int arrayPosition = 0;
int currentSum = 0;
int previousSum = 0;
int firstFill = 1;
char *line = NULL;
size_t len = 0;
ssize_t read;
while ((read = getline(&line, &len, fp)) != -1)
{
if (arrayPosition == ARR_SIZE) {
if (firstFill)
previousSum = currentSum;
firstFill = 0;
arrayPosition = 0;
}
currentSum = sumArray(array, ARR_SIZE);
array[arrayPosition++] = atoi(line);
// Don't do comparisons until we've filled the array
if (firstFill)
continue;
if (currentSum > previousSum)
increases++;
previousSum = currentSum;
}
fclose(fp);
if (line)
free(line);
printf("%d\n", increases);
exit(EXIT_SUCCESS);
}