From dcca312c9b1b5311c30d1f1ade9765d2a102913d Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Sat, 2 Dec 2023 09:08:01 +0100 Subject: Bessere Dateinamen --- src/01a.cpp | 23 ----------------- src/01b.cpp | 57 ----------------------------------------- src/day01.cpp | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 80 deletions(-) delete mode 100644 src/01a.cpp delete mode 100644 src/01b.cpp create mode 100644 src/day01.cpp (limited to 'src') diff --git a/src/01a.cpp b/src/01a.cpp deleted file mode 100644 index 1fcc763..0000000 --- a/src/01a.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include -#include -#include -using namespace std; - -int -main() -{ - string digits{ "0123456789" }; - fstream input{ "data/01a.txt" }; - - int sum = 0; - for ( string line; input >> line; ) { - auto first = find_first_of(begin(line), end(line), begin(digits), end(digits)); - auto last = find_first_of(rbegin(line), rend(line), begin(digits), end(digits)); - - auto value = (*first - '0') * 10 + (*last - '0'); - - sum += value; - } - cout << sum << endl; -} diff --git a/src/01b.cpp b/src/01b.cpp deleted file mode 100644 index 91ba7b7..0000000 --- a/src/01b.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include -#include -#include -#include -#include -#include -using namespace std; - -int -main() -{ - map map{ - { "0", 0 }, - { "1", 1 }, - { "2", 2 }, - { "3", 3 }, - { "4", 4 }, - { "5", 5 }, - { "6", 6 }, - { "7", 7 }, - { "8", 8 }, - { "9", 9 }, - { "one", 1 }, - { "two", 2 }, - { "three", 3 }, - { "four", 4 }, - { "five", 5 }, - { "six", 6 }, - { "seven", 7 }, - { "eight", 8 }, - { "nine", 9 }, - }; - - fstream input{ "data/01a.txt" }; - - auto sum = 0; - for ( string line; input >> line; ) { - string sub; - vector digits; - - for ( auto ch: line ) { - sub += ch; - - for ( const auto& word: map ) { - if ( sub.ends_with(word.first) ) { - digits.push_back(word.second); - } - } - } - - auto first = digits.front(); - auto last = digits.back(); - - sum += (first * 10) + last; - } - cout << sum << endl; -} diff --git a/src/day01.cpp b/src/day01.cpp new file mode 100644 index 0000000..ff357bc --- /dev/null +++ b/src/day01.cpp @@ -0,0 +1,82 @@ +#include +#include +#include +#include +#include +#include +using namespace std; + +void +part1() +{ + string digits{ "0123456789" }; + fstream input{ "data/day01.txt" }; + + int sum = 0; + for ( string line; input >> line; ) { + auto first = find_first_of(begin(line), end(line), begin(digits), end(digits)); + auto last = find_first_of(rbegin(line), rend(line), begin(digits), end(digits)); + + auto value = (*first - '0') * 10 + (*last - '0'); + + sum += value; + } + cout << sum << endl; +} + +void +part2() +{ + map map{ + { "0", 0 }, + { "1", 1 }, + { "2", 2 }, + { "3", 3 }, + { "4", 4 }, + { "5", 5 }, + { "6", 6 }, + { "7", 7 }, + { "8", 8 }, + { "9", 9 }, + { "one", 1 }, + { "two", 2 }, + { "three", 3 }, + { "four", 4 }, + { "five", 5 }, + { "six", 6 }, + { "seven", 7 }, + { "eight", 8 }, + { "nine", 9 }, + }; + + fstream input{ "data/day01.txt" }; + + auto sum = 0; + for ( string line; input >> line; ) { + string sub; + vector digits; + + for ( auto ch: line ) { + sub += ch; + + for ( const auto& word: map ) { + if ( sub.ends_with(word.first) ) { + digits.push_back(word.second); + } + } + } + + auto first = digits.front(); + auto last = digits.back(); + + sum += (first * 10) + last; + } + cout << sum << endl; +} + +int +main() +{ + part1(); + part2(); +} -- cgit v1.3