diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/2019/day5/aoc.cpp | 16 | ||||
-rw-r--r-- | src/2019/day5/aoc.h | 3 |
2 files changed, 11 insertions, 8 deletions
diff --git a/src/2019/day5/aoc.cpp b/src/2019/day5/aoc.cpp index d1d7c4b..844e400 100644 --- a/src/2019/day5/aoc.cpp +++ b/src/2019/day5/aoc.cpp @@ -95,16 +95,18 @@ static void run(size_t i, std::vector<int>& codes, std::vector<int>& outputs) { } } -static int run(int i, std::vector<int> codes) { - input = &i; - input_sequence = 0; - std::vector<int> outputs; - run(0, codes, outputs); - return outputs[outputs.size() - 1]; +static int run(int i, const std::vector<int>& codes) { + int is[] = {i}; + set_computer(is); + return run_computer(codes); } -int int_computer(int i[], std::vector<int> codes) { +void set_computer(int i[]) { input = i; + input_sequence = 0; +} + +int run_computer(std::vector<int> codes) { std::vector<int> outputs; run(0, codes, outputs); return outputs[outputs.size() - 1]; diff --git a/src/2019/day5/aoc.h b/src/2019/day5/aoc.h index 5c0e50e..2445f95 100644 --- a/src/2019/day5/aoc.h +++ b/src/2019/day5/aoc.h @@ -5,6 +5,7 @@ namespace aoc2019 { -int int_computer(int i[], std::vector<int> codes); +void set_computer(int i[]); +int run_computer(std::vector<int> codes); std::pair<int, int> day5(line_view); } |