From 7ff7127b459f7c411c27143571de77cd08f9a8a7 Mon Sep 17 00:00:00 2001 From: icaema Date: Sat, 2 Dec 2023 15:06:24 -0500 Subject: [PATCH] implemented d01l01 in c --- .vscode/c_cpp_properties.json | 18 +++++ .vscode/launch.json | 40 +++++++--- .vscode/settings.json | 68 +++++++++++++++++ day-02/Makefile | 8 +- day-02/bin/part01 | Bin 0 -> 16280 bytes day-02/src/build/Debug/outDebug | Bin 0 -> 52272 bytes day-02/src/build/Debug/part01.o | Bin 0 -> 57864 bytes day-02/src/part01.c | 127 +++++++++++++++++++++++++++++++- 8 files changed, 241 insertions(+), 20 deletions(-) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/settings.json create mode 100755 day-02/bin/part01 create mode 100755 day-02/src/build/Debug/outDebug create mode 100644 day-02/src/build/Debug/part01.o diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..c2098a2 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "linux-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "/usr/bin/gcc", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "linux-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 62d888b..e589313 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,15 +1,31 @@ { - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Debug Console", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "internalConsole" + }, + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": false, + "cwd": "/home/icaema/Public/advent-of-code/day-02/src", + "program": "/home/icaema/Public/advent-of-code/day-02/src/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ { - "name": "Python: Debug Console", - "type": "python", - "request": "launch", - "program": "${file}", - "console": "internalConsole" - } - ] + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..1eb85dd --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,68 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "C_Cpp_Runner.msvcSecureNoWarnings": false, + "makefile.makefilePath": "day-02/Makefile", + "makefile.makeDirectory": "day-02", + "makefile.launchConfigurations": [ + { + "cwd": "/home/icaema/Public/advent-of-code/day-02/bin", + "binaryPath": "/home/icaema/Public/advent-of-code/day-02/bin/part01", + "binaryArgs": [] + } + ] +} \ No newline at end of file diff --git a/day-02/Makefile b/day-02/Makefile index c692cd7..099be55 100644 --- a/day-02/Makefile +++ b/day-02/Makefile @@ -1,16 +1,16 @@ CC=gcc CFLAGS=-Wall -run1: bin/part01 +run1: clean bin/part01 cat data/p01data.txt | bin/part01 -run2: bin/part02 +run2: clean bin/part02 cat data/p02data.txt | bin/part02 -test1: bin/part01 +test1: clean bin/part01 cat data/p01test.txt | bin/part01 -test2: bin/part02 +test2: clean bin/part02 cat data/p02test.txt | bin/part02 bin/part01: diff --git a/day-02/bin/part01 b/day-02/bin/part01 new file mode 100755 index 0000000000000000000000000000000000000000..65faca6687a9e993ee9f3e848d2f02f7b8941c25 GIT binary patch literal 16280 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 I7&ut*Kf37UrvLx| literal 0 HcmV?d00001 diff --git a/day-02/src/build/Debug/outDebug b/day-02/src/build/Debug/outDebug new file mode 100755 index 0000000000000000000000000000000000000000..7552ea31e25e6d0b7b1222f2d574e219ed20e2f8 GIT binary patch literal 52272 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 D%F_kJ literal 0 HcmV?d00001 diff --git a/day-02/src/build/Debug/part01.o b/day-02/src/build/Debug/part01.o new file mode 100644 index 0000000000000000000000000000000000000000..758028180f4a8ae1ae6cbfd39466876a9944ef99 GIT binary patch literal 57864 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 +#include #include #include #include +#define DEBUG + #ifdef DEBUG #define debug_printf(...) do{ fprintf( stderr, __VA_ARGS__ ); } while( 0 ) #else #define debug_printf(...) do{ } while ( 0 ) #endif -#define LINE_MAX 90 +#define LINE_MAX 160 +#define GAME_MAX 101 +#define GAME_MAX_HANDS 10 + + + +typedef struct Hand { + int red; + int green; + int blue; + int set; +} Hand; + + +typedef struct Game { + int id; + int num_hands; + Hand hands[GAME_MAX_HANDS]; + Hand min_cubes; + int valid; +} Game; + +Game gameArray[GAME_MAX]; + +Hand bag_limits = {12, 13, 14, 1}; + +//Takes a game as a param, returns if the game is valid 0 or 1 +int validateGame(Game game, Hand limit){ + if (game.id == 0) return 0; + if (game.num_hands == 0) return 0; + for (int i=0; i limit.red) return 0; + if (game.hands[i].green > limit.green) return 0; + if (game.hands[i].blue > limit.blue) return 0; + } + return 1; +} + +void genHandString(char* dest, Game game){ + int offset = 0; + for (int i=0; i