#include #include #include #define INPUT "../inputs/input-day2" int first() { static char buf[256]; static char cmd[256]; static int operand; int hpos = 0; int depth = 0; FILE *f = fopen(INPUT, "r"); while(fgets(buf, 256, f)) { sscanf(buf, "%s %d\n", cmd, &operand); if(strcmp(cmd, "forward") == 0) { hpos += operand; } else if(strcmp(cmd, "up") == 0) { depth -= operand; } else if(strcmp(cmd, "down") == 0) { depth += operand; } } fclose(f); printf("depth: %d hpos: %d\n", depth, hpos); printf("result: %d\n", hpos * depth); return 0; } int second() { static char buf[256]; static char cmd[256]; static int operand; int hpos = 0; int depth = 0; int aim = 0; FILE *f = fopen(INPUT, "r"); while(fgets(buf, 256, f)) { sscanf(buf, "%s %d\n", cmd, &operand); if(strcmp(cmd, "forward") == 0) { hpos += operand; depth += (aim * operand); } else if(strcmp(cmd, "up") == 0) { aim -= operand; } else if(strcmp(cmd, "down") == 0) { aim += operand; } } fclose(f); printf("aim: %d depth: %d hpos: %d\n", aim, depth, hpos); printf("result: %d\n", hpos * depth); return 0; } int main() { first(); second(); return 0; }