diff options
author | kaiwu <kaiwu2004@gmail.com> | 2022-04-19 19:22:37 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2022-04-19 19:22:37 +0800 |
commit | afdd58189c94f793d7bd892ec3f2f476b596b7fa (patch) | |
tree | becfb8a40a0a307835bf715b68b81f30c8acc41e /src/2019/day5/aoc.cpp | |
parent | 73adf92fd06a5bb252c8a3e0e17b1221cae590cb (diff) | |
download | advent-of-code-afdd58189c94f793d7bd892ec3f2f476b596b7fa.tar.gz advent-of-code-afdd58189c94f793d7bd892ec3f2f476b596b7fa.zip |
int computer v2
Diffstat (limited to 'src/2019/day5/aoc.cpp')
-rw-r--r-- | src/2019/day5/aoc.cpp | 16 |
1 files changed, 9 insertions, 7 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]; |