From 7195f89f726bd8bc710ceb5b9d3b2ffa410d1471 Mon Sep 17 00:00:00 2001 From: Penguin Date: Mon, 6 Dec 2021 12:52:04 -0600 Subject: [PATCH] day 2 done --- day2/c/Makefile | 9 + day2/c/aoc_day2 | Bin 0 -> 21856 bytes day2/c/aoc_day2.c | 113 +++++ day2/c/aoc_day2.o | Bin 0 -> 12520 bytes day2/input.txt | 1000 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 1122 insertions(+) create mode 100644 day2/c/Makefile create mode 100755 day2/c/aoc_day2 create mode 100644 day2/c/aoc_day2.c create mode 100644 day2/c/aoc_day2.o create mode 100644 day2/input.txt diff --git a/day2/c/Makefile b/day2/c/Makefile new file mode 100644 index 0000000..5807038 --- /dev/null +++ b/day2/c/Makefile @@ -0,0 +1,9 @@ +CC=gcc +CFLAGS=-std=gnu99 -O2 -g +PROJECT=aoc_day2 + +%.o: %.c + $(CC) -c -o $@ $< $(CFLAGS) + +$(PROJECT): aoc_day2.o + $(CC) -o aoc_day2 aoc_day2.o diff --git a/day2/c/aoc_day2 b/day2/c/aoc_day2 new file mode 100755 index 0000000000000000000000000000000000000000..d1a3f88c8771033bb48445f7b3669024fb2b3561 GIT binary patch literal 21856 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 Z0(&WJD?I|5O8?R=mKMErV=o0L`yai(hq?d& literal 0 HcmV?d00001 diff --git a/day2/c/aoc_day2.c b/day2/c/aoc_day2.c new file mode 100644 index 0000000..8fba3d9 --- /dev/null +++ b/day2/c/aoc_day2.c @@ -0,0 +1,113 @@ +#include +#include +#include + +#define INPUT_FILE ("../input.txt") +#define ARR_LEN (1000) + +typedef enum direction +{ + DIR_FORWARD = 0, + DIR_UP = 1, + DIR_DOWN = 2 +}direction; + +// this is just direction + amount +typedef struct action_t +{ + direction dir; + int amount; +}action_t; + +int main(int argc, char** argv) +{ + int horizontal_pos = 0; + int depth = 0; + int aim = 0; + + FILE* fp = fopen(INPUT_FILE, "r"); + if(fp == NULL) + { + printf("Failed to open file for reading...\n"); + exit(-1); + } + + size_t len = 0; + ssize_t rc = 0; + char* line = NULL; + char action[12]; + + action_t action_bank[ARR_LEN]; + memset(action_bank, 0, sizeof(action_t) * ARR_LEN); + int ct = 0; + while((rc = getline(&line, &len, fp)) > 0) + { + memset(action, '\0', 12); + int amount = 0; + sscanf(line, "%s %d", action, &amount); + action_bank[ct].amount = amount; + if(strcmp(action, "forward") == 0) + { + action_bank[ct].dir = DIR_FORWARD; + horizontal_pos += amount; + } + else if(strcmp(action, "up") == 0) + { + action_bank[ct].dir = DIR_UP; + depth -= amount; + } + else if(strcmp(action, "down") == 0) + { + action_bank[ct].dir = DIR_DOWN; + depth += amount; + } + else + { + printf("action didn't match any known actions -- action: %s\n", action); + exit(-1); + } + ct++; + } + printf("Part 1\n"); + printf("Horizontal Position: %d\n", horizontal_pos); + printf("Depth: %d\n", depth); + printf("calculated course: %d\n", depth * horizontal_pos); + + // part 2 + horizontal_pos = 0; + depth = 0; + for(int ind = 0; ind < ARR_LEN; ind++) + { + /* printf(">>>ACTION: %s\tAMOUNT: %d\n", */ + /* action_bank[ind].dir == DIR_FORWARD ? "FORWARD" : */ + /* action_bank[ind].dir == DIR_UP ? "UP" : */ + /* action_bank[ind].dir == DIR_DOWN ? "DOWN" : "UNKNOWN", */ + /* action_bank[ind].amount); */ + if(action_bank[ind].dir == DIR_FORWARD) + { + horizontal_pos += action_bank[ind].amount; + depth += (aim * action_bank[ind].amount); + } + else if(action_bank[ind].dir == DIR_UP) + { + aim -= action_bank[ind].amount; + } + else if(action_bank[ind].dir == DIR_DOWN) + { + aim += action_bank[ind].amount; + } + else + { + printf("Error, dir unknown\n"); + exit(-1); + } + + } + printf("Part 2\n"); + printf("Horizontal Position: %d\n" + "Depth: %d\n" + "Aim: %d\n", horizontal_pos, depth, aim); + + printf("Final Position: %d\n", horizontal_pos * depth); + return 0; +} diff --git a/day2/c/aoc_day2.o b/day2/c/aoc_day2.o new file mode 100644 index 0000000000000000000000000000000000000000..4e59d31fc446fdac3d083bd93553cdfdeeb392b5 GIT binary patch literal 12520 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 literal 0 HcmV?d00001 diff --git a/day2/input.txt b/day2/input.txt new file mode 100644 index 0000000..83b7ae1 --- /dev/null +++ b/day2/input.txt @@ -0,0 +1,1000 @@ +forward 5 +down 8 +down 6 +down 7 +down 8 +forward 7 +down 3 +up 6 +forward 6 +down 2 +forward 5 +down 6 +up 3 +down 4 +forward 4 +down 6 +down 1 +up 5 +forward 5 +down 1 +down 7 +up 2 +down 7 +forward 1 +forward 6 +down 1 +up 1 +up 4 +forward 3 +forward 6 +forward 1 +forward 4 +up 3 +forward 1 +forward 4 +down 9 +forward 4 +forward 8 +up 8 +forward 5 +up 4 +up 3 +down 8 +forward 5 +down 4 +forward 1 +forward 7 +down 1 +forward 8 +down 4 +forward 2 +forward 7 +forward 9 +up 4 +down 3 +forward 7 +forward 6 +down 8 +forward 2 +forward 5 +forward 4 +down 6 +forward 6 +up 5 +down 3 +down 6 +down 5 +down 7 +down 8 +up 5 +down 5 +forward 5 +forward 4 +up 3 +down 7 +down 3 +forward 4 +down 2 +forward 4 +forward 3 +forward 4 +forward 9 +forward 6 +forward 8 +up 8 +down 8 +up 5 +down 4 +down 8 +up 7 +up 8 +down 6 +down 3 +forward 2 +forward 7 +up 1 +up 2 +forward 2 +down 7 +down 1 +up 9 +forward 6 +forward 4 +down 2 +up 6 +down 2 +down 1 +down 3 +up 6 +down 1 +down 8 +forward 7 +up 8 +forward 5 +forward 8 +down 8 +forward 6 +forward 8 +down 3 +down 4 +down 6 +up 2 +forward 6 +up 9 +forward 4 +forward 8 +up 4 +down 8 +forward 8 +down 8 +down 4 +down 5 +forward 7 +down 6 +down 6 +up 2 +up 1 +forward 7 +forward 8 +forward 4 +forward 9 +down 7 +forward 4 +up 5 +down 3 +up 4 +down 9 +down 2 +down 8 +forward 3 +forward 5 +forward 7 +forward 9 +forward 5 +forward 8 +forward 6 +forward 4 +forward 6 +forward 7 +forward 2 +down 1 +down 8 +down 4 +down 5 +down 6 +up 3 +up 2 +forward 4 +down 4 +forward 7 +up 6 +up 9 +down 1 +down 3 +down 1 +up 3 +up 1 +down 2 +up 5 +forward 1 +down 7 +forward 9 +down 4 +up 4 +down 6 +down 3 +forward 4 +up 6 +up 4 +forward 1 +up 7 +down 1 +down 7 +down 7 +forward 9 +down 3 +down 3 +forward 6 +down 2 +forward 7 +up 4 +up 8 +down 8 +forward 7 +forward 6 +down 7 +forward 5 +up 6 +up 6 +down 9 +up 6 +up 2 +forward 9 +forward 1 +up 5 +up 3 +down 9 +up 8 +down 7 +up 7 +forward 5 +down 7 +down 4 +forward 2 +forward 3 +forward 5 +down 1 +up 6 +down 6 +up 6 +down 8 +down 3 +down 4 +forward 9 +down 3 +forward 3 +up 1 +down 2 +forward 8 +down 7 +up 9 +forward 1 +down 3 +forward 1 +forward 8 +down 3 +forward 8 +forward 6 +down 1 +down 9 +forward 2 +down 1 +down 6 +up 1 +up 7 +down 9 +forward 6 +forward 5 +forward 2 +up 6 +down 6 +forward 6 +up 3 +down 7 +down 8 +forward 5 +down 7 +forward 8 +down 8 +forward 4 +down 6 +forward 4 +down 7 +up 5 +down 5 +down 5 +down 4 +down 3 +forward 8 +forward 1 +down 8 +down 2 +forward 3 +forward 7 +forward 3 +down 5 +down 6 +down 8 +down 6 +forward 9 +forward 4 +forward 8 +down 5 +down 7 +forward 4 +up 5 +down 8 +up 6 +up 7 +down 6 +down 8 +forward 3 +up 6 +forward 7 +down 4 +up 1 +up 8 +forward 3 +down 6 +down 1 +forward 7 +down 1 +down 9 +forward 6 +down 4 +forward 3 +forward 1 +down 5 +down 9 +down 9 +down 5 +down 8 +down 7 +forward 1 +forward 5 +down 2 +forward 2 +forward 1 +down 8 +forward 6 +down 3 +forward 4 +up 2 +up 8 +forward 7 +forward 4 +down 8 +up 6 +forward 3 +up 1 +up 2 +forward 5 +forward 9 +down 5 +forward 2 +forward 5 +up 6 +down 1 +down 1 +down 6 +forward 6 +down 7 +forward 5 +forward 8 +down 7 +down 5 +forward 9 +forward 1 +up 6 +down 7 +forward 1 +forward 4 +down 5 +down 6 +up 3 +up 8 +up 5 +down 8 +down 8 +down 6 +down 2 +down 3 +down 9 +forward 8 +forward 7 +forward 7 +up 5 +down 5 +forward 9 +up 8 +up 5 +forward 1 +down 9 +down 9 +forward 9 +forward 4 +forward 6 +up 9 +up 5 +up 3 +down 9 +up 7 +up 1 +down 3 +down 9 +down 7 +forward 6 +down 7 +forward 7 +forward 8 +down 2 +forward 5 +up 1 +down 6 +up 9 +forward 5 +up 9 +down 2 +down 3 +forward 5 +down 9 +forward 9 +forward 2 +forward 8 +down 1 +forward 8 +up 1 +forward 3 +up 1 +down 1 +forward 9 +down 2 +forward 2 +up 1 +up 8 +down 2 +down 7 +down 5 +up 2 +up 6 +down 9 +down 7 +down 7 +up 6 +up 8 +down 7 +forward 5 +down 4 +down 5 +up 8 +up 6 +down 6 +forward 6 +up 6 +down 1 +down 1 +down 1 +forward 1 +down 8 +down 4 +down 5 +down 2 +down 5 +up 8 +up 8 +down 3 +down 6 +down 1 +forward 6 +forward 5 +forward 1 +down 3 +down 4 +up 9 +down 3 +up 8 +forward 5 +down 5 +forward 2 +down 8 +down 2 +up 1 +forward 7 +up 8 +forward 7 +down 3 +down 1 +down 3 +forward 4 +down 5 +down 8 +forward 8 +forward 3 +forward 7 +down 7 +forward 4 +down 1 +forward 3 +up 2 +down 7 +down 1 +forward 4 +forward 7 +down 3 +down 1 +forward 4 +down 3 +forward 2 +up 9 +down 5 +down 9 +forward 5 +up 5 +down 3 +up 6 +up 8 +down 7 +down 3 +down 9 +forward 6 +forward 8 +forward 3 +down 6 +up 8 +forward 8 +forward 9 +down 4 +down 1 +forward 2 +down 2 +up 2 +down 5 +down 1 +down 3 +forward 4 +down 3 +up 8 +up 6 +up 5 +down 4 +forward 3 +up 6 +forward 6 +forward 2 +down 8 +down 5 +forward 3 +up 1 +forward 5 +forward 9 +forward 5 +down 5 +forward 3 +forward 6 +forward 5 +forward 3 +down 1 +down 1 +down 1 +down 9 +forward 8 +forward 2 +forward 4 +forward 8 +down 1 +up 8 +down 1 +down 6 +down 5 +up 8 +down 4 +forward 8 +forward 6 +down 6 +forward 2 +forward 7 +forward 2 +up 7 +forward 4 +up 1 +up 8 +down 3 +down 2 +down 3 +up 7 +down 9 +up 5 +down 1 +down 3 +up 5 +down 6 +up 9 +down 4 +down 7 +down 6 +down 4 +forward 5 +forward 6 +down 8 +forward 3 +forward 8 +up 5 +up 6 +up 8 +forward 8 +forward 1 +down 6 +forward 3 +forward 3 +forward 6 +down 3 +down 2 +forward 5 +down 5 +forward 6 +down 3 +down 9 +down 8 +down 6 +down 6 +forward 1 +up 5 +down 9 +forward 3 +forward 3 +down 2 +forward 8 +forward 3 +forward 2 +forward 5 +down 4 +down 1 +up 2 +down 1 +down 1 +forward 5 +down 7 +up 7 +down 9 +down 8 +down 6 +forward 3 +forward 5 +down 3 +down 6 +up 3 +up 2 +up 8 +down 3 +up 3 +down 6 +forward 7 +forward 4 +up 5 +forward 1 +up 3 +forward 8 +down 2 +down 5 +down 2 +forward 4 +forward 4 +down 4 +up 8 +down 1 +up 2 +forward 2 +forward 9 +forward 4 +down 3 +down 7 +forward 1 +down 2 +forward 8 +down 8 +forward 3 +down 7 +forward 9 +forward 6 +up 1 +forward 3 +up 2 +up 3 +forward 6 +down 8 +up 9 +down 2 +down 9 +down 6 +down 4 +forward 5 +forward 3 +up 7 +forward 7 +up 7 +up 6 +down 7 +down 2 +up 7 +down 5 +up 9 +forward 3 +up 6 +up 6 +up 6 +up 1 +forward 5 +forward 5 +down 8 +forward 6 +forward 7 +down 3 +down 4 +down 2 +down 4 +down 1 +forward 7 +down 7 +down 5 +forward 8 +up 6 +up 8 +forward 8 +forward 2 +forward 4 +down 6 +down 4 +down 2 +down 3 +forward 8 +forward 6 +down 3 +forward 7 +forward 4 +up 8 +down 9 +forward 5 +up 5 +up 5 +up 7 +forward 3 +up 1 +down 2 +forward 5 +forward 5 +up 1 +forward 4 +down 6 +up 5 +up 3 +forward 9 +down 9 +down 6 +down 1 +down 2 +down 4 +down 7 +forward 3 +up 5 +forward 2 +down 3 +forward 7 +up 8 +up 3 +forward 6 +up 7 +up 1 +up 2 +down 5 +forward 5 +down 3 +down 5 +down 6 +up 1 +down 2 +up 1 +forward 3 +down 3 +down 4 +down 6 +down 1 +down 3 +forward 9 +forward 1 +down 1 +up 3 +forward 4 +forward 7 +forward 4 +down 2 +forward 6 +forward 2 +forward 7 +down 9 +forward 8 +forward 3 +up 8 +down 9 +up 8 +forward 5 +forward 9 +down 4 +forward 1 +up 9 +forward 2 +down 6 +up 3 +forward 1 +forward 3 +forward 8 +down 7 +down 3 +down 5 +down 2 +down 2 +forward 4 +forward 1 +down 2 +up 8 +down 2 +forward 3 +down 2 +down 6 +down 1 +up 1 +down 7 +down 3 +forward 3 +forward 1 +forward 9 +down 9 +down 2 +up 1 +forward 9 +up 2 +down 2 +forward 3 +down 4 +forward 9 +forward 5 +up 5 +forward 2 +up 3 +forward 8 +down 3 +forward 5 +forward 5 +down 8 +up 9 +forward 7 +up 2 +up 2 +up 1 +up 7 +down 8 +forward 9 +forward 9 +up 6 +down 5 +forward 7 +down 9 +down 8 +down 5 +down 3 +down 2 +forward 6 +down 7 +forward 3 +up 5 +forward 1 +up 7 +forward 3 +down 5 +down 9 +down 8 +forward 2 +up 4 +forward 7 +forward 5 +forward 8 +forward 7 +up 7 +forward 4 +up 7 +down 9 +forward 1 +forward 3 +down 3 +forward 4 +down 3 +forward 3 +down 5 +down 1 +forward 6 +down 4 +down 3 +down 2 +up 1 +down 1 +down 6 +down 6 +forward 9 +down 5 +forward 1 +up 4 +forward 7 +down 8 +forward 1 +forward 9 +forward 7 +down 1 +down 3 +up 2 +down 5 +up 6 +forward 2 +up 2 +down 7 +down 9 +forward 3 +up 5 +up 7 +down 4 +forward 6 +down 8 +forward 7 +up 1 +up 4 +forward 4 +down 9 +forward 9 +forward 9 +down 3 +forward 5 +forward 1 +down 3 +down 8 +forward 7 +down 4 +forward 3 +down 3 +forward 8 +forward 2 +forward 6 +up 9 +forward 2 +down 9 +forward 2 +down 1 +forward 9 +up 1 +up 4 +up 1 +down 1 +forward 4 +up 9 +up 8 +down 1 +down 3 +down 2 +forward 9 +down 7 +down 4 +forward 2 +up 9 +down 7 +down 1 +down 9 +forward 2 +down 2 +forward 9 +down 5 +up 1 +down 3 +up 6 +down 4 +forward 8 +down 2 +down 2 +down 9 +forward 9 +forward 2 +down 1 +forward 6 +down 2 +up 4 +down 8 +up 4 +down 6 +down 2 +forward 7 +down 3 +up 3 +forward 1 +up 4 +forward 5 +down 7 +down 8 +forward 7 +forward 3 +down 5 +up 6 +down 7 +down 1 +up 7 +down 1 +forward 6 +forward 3 +forward 3 +forward 7