From: Lukáš Jiřiště Date: Sun, 3 Dec 2023 19:48:43 +0000 (+0100) Subject: Add solution for first part of day 1 X-Git-Url: https://git.ljiriste.work/?a=commitdiff_plain;h=0f8558ed5f27aefdf40e9f5797cc5e8b185acb64;p=AoC_2023.git Add solution for first part of day 1 --- diff --git a/1/1.c b/1/1.c new file mode 100644 index 0000000..73d4c0a --- /dev/null +++ b/1/1.c @@ -0,0 +1,50 @@ + +#include +#include +#include +#include "libft.h" + +int line_value(char *line) +{ + char two_digit[2]; + size_t i; + + i = 0; + while (!ft_isdigit(line[i])) + ++i; + two_digit[0] = line[i]; + while(line[i]) + ++i; + while (!ft_isdigit(line[i])) + --i; + two_digit[1] = line[i]; + return (ft_atoi(two_digit)); +} + +int main(int argc, char **argv) +{ + char *line; + int fd; + int result; + + if (argc != 2) + { + return (1); + } + fd = open(argv[1], O_RDONLY); + if (fd < 0) + { + return (2); + } + result = 0; + line = get_next_line(fd); + while (line) + { + result += line_value(line); + free(line); + line = get_next_line(fd); + } + ft_printf("The calibration sum is %i.\n", result); + close(fd); + return (0); +}