From fb54beb2bef7fe6b0d4e524b03c61d3f94ffee09 Mon Sep 17 00:00:00 2001 From: jacopograndi Date: Thu, 6 Jan 2022 13:05:05 +0100 Subject: init --- day01/day01.cpp | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 day01/day01.cpp (limited to 'day01/day01.cpp') diff --git a/day01/day01.cpp b/day01/day01.cpp new file mode 100644 index 0000000..113f86d --- /dev/null +++ b/day01/day01.cpp @@ -0,0 +1,52 @@ +#include +#include +#include +#include + +std::string read (char* name) { + FILE *f = fopen(name, "r"); + char c = fgetc(f); std::string txt; + while (c != EOF) { txt += c; c = fgetc(f); } + fclose(f); + return txt; +} + +std::vector split (std::vector vec, std::string name) { + auto token = name.find("\n"); + if (token != std::string::npos) { + vec.push_back(name.substr(0, token)); + return split(vec, name.substr(token+1)); + } else if (name.size() > 1) { + vec.push_back(name); + } + return vec; +} + +int main (int argc, char* argv[]) { + if (argc < 2 && argc > 3) return 1; + std::string txt = read(argv[1]); + + std::vector vec; + vec = split(vec, txt); + std::vector depths; + for (auto v : vec) { + depths.push_back(std::stoi(v)); + } + + int window = 1; + if (argc == 3) { window = atoi(argv[2]); } + + int inc = 0; + for (std::size_t i=0; i= window) { + int sum0 = 0, sum1 = 0; + for (int j=0; j sum0) inc ++; + } + } + + std::cout << "The number of depth increases is " << inc << std::endl; + + return 0; +} -- cgit v1.2.3-54-g00ecf