From 8030f8a4e4e1445f6f57f40efb0c44b92343e94f Mon Sep 17 00:00:00 2001 From: Quantum Date: Sat, 3 Dec 2022 13:41:07 -0500 Subject: [PATCH] Added C for zombie --- day_1/main | Bin 37168 -> 21152 bytes day_1/main.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++ day_1/main2 | Bin 43088 -> 21248 bytes day_1/main2.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 154 insertions(+) create mode 100644 day_1/main.c create mode 100644 day_1/main2.c diff --git a/day_1/main b/day_1/main index 0a72a99e78f9bbfa85bf30936b21f1e6caf0be22..fae324e0d56d8d3e5e8193e3152ef83a13b2063d 100755 GIT binary patch delta 5166 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 literal 37168 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 +#include +#include + + +typedef struct { + size_t size; + size_t max_size; + int *data; +} list_t; + +void list_init(list_t **list) { + *list = malloc(sizeof(list_t)); + (*list)->size = 0; + (*list)->max_size = 1; + (*list)->data = malloc(sizeof(int)); +} + +void list_append(list_t *list, int number) { + if(list->size >= list->max_size) { + int *tmp = malloc(list->max_size * 2 * sizeof(int)); + memmove(tmp, list->data, list->max_size * sizeof(int)); + free(list->data); + list->data = tmp; + list->max_size *= 2; + } + list->data[list->size++] = number; +} + +void list_free(list_t *list) { + free(list->data); + free(list); +} + +int main(int argc, char *argv[]) { + FILE *fp; + char *line = NULL; + size_t len = 0; + ssize_t read; + + fp = fopen("input", "r"); + if(fp == NULL) + exit(EXIT_FAILURE); + + + list_t *list; + list_init(&list); + int sum = 0; + while((read = getline(&line, &len, fp)) != -1) { + // printf("%s\n", line); + + if(strcmp(line, "\n") == 0) { + list_append(list, sum); + sum = 0; + } else { + sum += atoi(line); + } + } + + int max = 0; + for(int i = 0; i < list->size; i++) { + if(list->data[i] > max) + max = list->data[i]; + printf("%d ", list->data[i]); + } + printf("\n"); + printf("max %d\n", max); + + fclose(fp); + if(line) + free(line); + list_free(list); + exit(EXIT_SUCCESS); +} diff --git a/day_1/main2 b/day_1/main2 index 13437343f4075d57c46316f7c8ee8d82ed30ee28..848b58cddeac260cedd24395444248921eb244f5 100755 GIT binary patch delta 5312 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 diff --git a/day_1/main2.c b/day_1/main2.c new file mode 100644 index 0000000..7b8bbe5 --- /dev/null +++ b/day_1/main2.c @@ -0,0 +1,80 @@ +#include +#include +#include + + +typedef struct { + size_t size; + size_t max_size; + int *data; +} list_t; + +void list_init(list_t **list) { + *list = malloc(sizeof(list_t)); + (*list)->size = 0; + (*list)->max_size = 1; + (*list)->data = malloc(sizeof(int)); +} + +void list_append(list_t *list, int number) { + if(list->size >= list->max_size) { + int *tmp = malloc(list->max_size * 2 * sizeof(int)); + memmove(tmp, list->data, list->max_size * sizeof(int)); + free(list->data); + list->data = tmp; + list->max_size *= 2; + } + list->data[list->size++] = number; +} + +void list_free(list_t *list) { + free(list->data); + free(list); +} + +int compare(const void *ap, const void *bp) { + int a = *(int *)ap; + int b = *(int *)bp; + + if(a == b) return 0; + if(a > b) return -1; + return 1; +} + +int main(int argc, char *argv[]) { + FILE *fp; + char *line = NULL; + size_t len = 0; + ssize_t read; + + fp = fopen("input", "r"); + if(fp == NULL) + exit(EXIT_FAILURE); + + + list_t *list; + list_init(&list); + int sum = 0; + while((read = getline(&line, &len, fp)) != -1) { + // printf("%s\n", line); + + if(strcmp(line, "\n") == 0) { + list_append(list, sum); + sum = 0; + } else { + sum += atoi(line); + } + } + + qsort(list->data, list->size, sizeof(int), compare); + for(int i = 0; i < 3; i++) { + printf("%d ", list->data[i]); + } + printf("\n"); + + fclose(fp); + if(line) + free(line); + list_free(list); + exit(EXIT_SUCCESS); +}