From e6949f3ff5c8ec7c78ff44141248b35c55a74de7 Mon Sep 17 00:00:00 2001 From: ThomasBallantine Date: Mon, 10 Feb 2025 21:48:07 +0000 Subject: [PATCH] first commit --- 2015_day_1/2015_day_1_input.txt | 1 + 2015_day_1/Makefile | 2 + 2015_day_1/README | 5 ++ 2015_day_1/initialprog-Werror=switch | Bin 0 -> 16288 bytes 2015_day_1/initialprog.c | 88 +++++++++++++++++++++++++++ README.md | 0 6 files changed, 96 insertions(+) create mode 100644 2015_day_1/2015_day_1_input.txt create mode 100644 2015_day_1/Makefile create mode 100644 2015_day_1/README create mode 100755 2015_day_1/initialprog-Werror=switch create mode 100644 2015_day_1/initialprog.c create mode 100644 README.md diff --git a/2015_day_1/2015_day_1_input.txt b/2015_day_1/2015_day_1_input.txt new file mode 100644 index 0000000..1855a96 --- /dev/null +++ b/2015_day_1/2015_day_1_input.txt @@ -0,0 +1 @@ +()()(()()()(()()((()((()))((()((((()()((((()))()((((())(((((((()(((((((((()(((())(()()(()((()()(()(())(()((((()((()()()((((())((((((()(()(((()())(()((((()))())(())(()(()()))))))))((((((((((((()())()())())(())))(((()()()((((()(((()(()(()()(()(()()(()(((((((())(())(())())))((()())()((((()()((()))(((()()()())))(())))((((())(((()())(())(()))(()((((()())))())((()(())(((()((((()((()(())())))((()))()()(()(()))))((((((((()())((((()()((((()(()())(((((()(()())()))())(((()))()(()(()(()((((()(())(()))(((((()()(()()()(()(((())())(((()()(()()))(((()()(((())())(()(())())()()(())()()()((()(((()(())((()()((())()))((()()))((()()())((((()(()()(()(((()))()(()))))((()(((()()()))(()(((())()(()((()())(()(()()(()())(())()(((()(()())()((((()((()))))())()))((()()()()(())()())()()()((((()))))(()(((()()(((((((())()))()((((()((())()(()())(())()))(()(()())(((((((())))(((()))())))))()))())((())(()()((())()())()))))()((()()())(())((())((((()())())()()()(((()))())))()()))())(()()()(()((((((()()))())()))()(((()(((())((((()()()(()))())()()))))())()))())((())()())(((((())())((())())))(((())(((())(((((()(((((())(()(()())())(()(())(()))(()((((()))())()))))())))((()(()))))())))(((((())()))())()))))()))))(((()))()))))((()))((()((()(()(())()())))(()()()(())()))()((((())))))))(())(()((()()))(()))(()))(()((()))))))()()((((()()))()())()))))))()()()))(()((())(()))((()()()())()(((()((((())())))()((((()(()))))))())))()()())()))(()))))(()())()))))))((())))))))())()))()((())())))(()((()))()))(())))))(()))()())()()))((()(()))()()()()))))())()()))())(())()()))()))((()))))()()(()())))))()()()))((((()))()))))(()(())))(()())))((())())(()))()))))()())))()())()())))))))))()()))))())))((())((()))))())))(((()())))))))(()))()()))(()))()))))()())))))())((((()())))))))())))()()))))))))()))()))))()))))))(())))))))))())))))))))))))))())())((())))))))))()))((())))()))))))))())()(()))))))())))))()()()())()(()()()(()())(()))()()()(()())))())())))()))))())))))))()()()()())(())())()())()))))(()()()()()))))()))())())))((()())()())))()))()))))(()())))()))))))))(((()))()()))))))))))))))))))))(()))(()((()))())))())(()))(()(()(())))))()(()))()))()()))))))))))))()((()())(())())()(())))))())()())((()()))))(()()))))())()(())()))))))))))))))))))))()))(()(()())))))))()()((()))()))))))((())))()))))))))((()))())()()))())()()))((()))())))))))))))(()())()))(())((()(()()))(()())(())))()())(()(())()()))))()))()(()))))))(()))))))))))(()))())))))))))())))))())))(())))))()))))(())())))))))))()(()))))()())))())(()))()())))))))))))))())()()))))()))))))())))))()))))(())(()()()()((())()))())(()))((())()))())())(())(()()))))()))(())()()((())(())))(())))()))())))))))))()(((((())())))(())()))))(())))((()))()(((((((()))))()()))(())))))()(()))))(()()))()))())))))))(()())()))))))))())))(()))())()))(())()((())())()())())(()(()))))()))))))((()())(())()()(()())))()()))(())(())(()))())))()))(()))()()))((((()))))()))((()()()))))()))()))())))(()))()))))(())))()))())()(()))()())))())))))))())))())))()()))))))(()))())())))()))()()())())))))))))))))())))()))(()()))))())))())()(())))())))))))))))))))))()()())())))))()()()((()(()))()()(())()())()))()))))()()()))))))((()))))))))()(()(()((((((()()((()())))))))))))()))())))))((())())(()))())))())))))())()()())(())))())))()())())(())))))))()()(())))()))())))())())())()))))))))()))(()()()())())())))(())())))))))()()())()))))())))())()(())())))))))()())()))(()()(())())))()(()((()()((()()(((((())(()())()))(())()))(())))(())))))))()))()))((()))()))()))))))))()))))))))((()()())(()))(((()))(())))()))((())(((())))()())))())))))((())))))(())())((((((())())()(()))()(()((()())))((())()(()(()))))(())(()()())(())))())((()(((())())))(((()())())))())()(())())((((()()))))())((()))()()()()(())(((((((()()()((()))())(()())))(())())((((()()(()))))()((())))((())()))()(((()))())))()))((()(()))(())(()((((())((((()()(()()))(((())(()))))((((()(()))(())))))((()))(()))((()(((()(()))(()(()((()(())(()(()(()(()()((()))())(((())(()(()))))(()))()()))(())))(())()(((())(()))()((((()()))))())(()))))((())()((((()(((()))())())(((()))()())((())(())())(())()(())()(()()((((((()()))))()()(((()()))))()())()(((()(()))(()(()())(()(()))))(((((()(((())())))))(((((()((()()((())())((((((()(())(()()((()()()()()()()(()()))()(((()))()))(((((((())(((()((()())()((((())(((()(())))()((()(()()()((())((()())()))()))())))())((((((()))(()(()()()))(()((()(()(()))()((()(((()()()((())(((((())()(()))())())((()(())))(()(()())(())((())())())(((()()()(())))))())(()))))))()))))))())((()()()))((()((((((()))(((()((((()()()(((()))())()(()()(((()((()()()()())()()))()()()(()(())((()))))(()))())))))))()(()()(((((())()(()(((((()((()(()()())(()((((((((()((((((())()((((()()()((()((()((((((()))((())))))))())()))((()(()))()(()()(()((())((()()((((((((((((()())(()()()))((((()((((((())(()))())(()()((()()))()(((((((()((()()((((((()(((())))((())))((((((((()()(((((((())(((((()())(((())((())()((((()(((((((()(()(((()((((((()(((()(((((((((((()()((()()(()))((()()(((()(((())))((((())()(()(((())()(()(((())(((((((((((()))())))((((((())((()()((((()())())((((()()))((())(((((()(()()(()()()((())(()((()()((((()(((((()((()(()((((()())((((((()(((((()()(()(()((((())))(())(())(())((((()(()()((((()((((()()((()((((((())))(((((()))))()))(()((((((((()(((())())(((())))(()(()((())(((()((()()(((((()((()()(((())()(()))(((((((())(()(((((()))((()((()((()))(())())((((()((((())()(()))(((()(((((((((((((((())(((((((((()))(((()(()()()()((((((()((())()((((((((()(())(((((((((((()(()((())()((()()(()(()()((((()()((())(()((()()(()()((((()(((((((())))((((())(())()(((()()((()()((((()((()(((()((())(((()()()((((()((((()()(()(()((((((((())(()(((((())(()())(((((((()())()(()((((()((())(()()())((((()()(((()((((())(())(()()(((((((((()()))()(((())(()(()((((((())(()()())(()))()()(((()(((()((())(()(((((((()(()(()((()(((((()(()((()(()((((((()((((()()((((()(((()((())(()(()((()()((((()()(())()(())(((())(()((((((((()())(((((((((()(())()((((())))()))()()(((((()()((((((())(()()(((()(()(((((((()(()(((((((())(())((((()((()(())))((((()()())(()))((()())((((()(((((()(()(())(()(()()())(((((()(((((()((((()()((((((((()()))(()((((((())((((())()(()(((()()()(((()(()(())(())(((((()(())())((((())(())(()(((()(((((())((((())())((()(((((((()(((())(()(()))(((((((((()((()((()()(()((((())(((()((())((((())(()(((()(((()(()((((()(((())(()(((()(()()(()(()((()()(()())(())())((()(()(((()(((()(((()()(((((((((()(((((((((()()(((()(((()())((((()(()(((()()()((())((((((((((())(()(((()((((()())((((()((()))(((()()()(((((()(((((((())((()())(()((((())((((((((())(()((()((((((((((()()((()((()()))(((()())()())()(((()())()()(()(()(((((((())()))(())()))())()()((())()((()((((()((()((())(((((()((((((()(())))(()))())(((()))((()()(()(((()))((((())()(((()))))()(()(())()(((((())(()(()(())(())()((()()()((((()(())((()())(()(()))(()(()(()()(())()()(()((())()((()))))()))((()(()()()()((()())(()))())()(()(((((((((())())((()((()((((((())()((((())(((())((()(()()()((())(()((())(((()((((()()((()(()(((((())()))()((((((()))((())(((()()))(((())(())()))(((((((())(())())()(())(((((()))()((()))()(()()((()()()()()())((((((( \ No newline at end of file diff --git a/2015_day_1/Makefile b/2015_day_1/Makefile new file mode 100644 index 0000000..32db095 --- /dev/null +++ b/2015_day_1/Makefile @@ -0,0 +1,2 @@ +compile: + gcc initialprog.c -Werror=switch -o initialprog diff --git a/2015_day_1/README b/2015_day_1/README new file mode 100644 index 0000000..9bbaefd --- /dev/null +++ b/2015_day_1/README @@ -0,0 +1,5 @@ +Advent of Code 2015 Day 1 +Completed 10/2/2025 +It may be that Verilog state machines followed me home to do this +I need to set up some tests on it still +Reference on makefiles: https://makefiletutorial.com/ \ No newline at end of file diff --git a/2015_day_1/initialprog-Werror=switch b/2015_day_1/initialprog-Werror=switch new file mode 100755 index 0000000000000000000000000000000000000000..fe3e817cf4f8c29f485eb4c9af5d5ae4f50864dc GIT binary patch literal 16288 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 +#include +#include +FILE *fptr; +char line1[10000]; +int floor_number; +enum states{ + START, + PROCESS, + END, +} state; + +enum events{ + START_LOOP, + INCREMENT, + DECREMENT, + STOP_LOOP, + ERROR_EVENT +}; + +void step_state(enum events event){ + switch(state){ + case START: + switch(event){ + case START_LOOP: + state = PROCESS; + break; + default: + exit(1); + break; + } + break; + case PROCESS: + switch(event){ + case INCREMENT: + floor_number++; + break; + case DECREMENT: + floor_number--; + break; + case STOP_LOOP: + state = END; + break; + case ERROR_EVENT: + printf("ERROR!"); + exit(1); + break; + default: + exit(1); + break; + } + + } +} + +int main() +{ +floor_number = 0; +fptr = fopen("2015_day_1_input.txt", "r"); +if(fptr == NULL) { + printf("Not able to open the file."); +} +fgets(line1, 10000, fptr); +fclose(fptr); +step_state(START_LOOP); +size_t i = 0; +while (line1[i] != '\0'){ + if (line1[i] == '('){ + step_state(INCREMENT); + } + else if (line1[i] == ')'){ + step_state(DECREMENT); + } + else{ + printf("\nCharacter not ( or ), ERROR!"); + exit(1); + } + i++; +} + +printf("\nThe Floor number is: %d\n\n", floor_number); +return 0; +} + + +//Sources: +//https://dev.to/zirkelc/how-to-iterate-over-c-string-lcj#:~:text=Pointer-,For%2DLoop,each%20iteration%20with%20*%2B%2Bp%20. +//https://yakking.branchable.com/posts/state-machines-in-c/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29