aboutsummaryrefslogtreecommitdiff
path: root/src/2019/day5/aoc.cpp
diff options
context:
space:
mode:
authorkaiwu <kaiwu2004@gmail.com>2022-04-19 19:22:37 +0800
committerkaiwu <kaiwu2004@gmail.com>2022-04-19 19:22:37 +0800
commitafdd58189c94f793d7bd892ec3f2f476b596b7fa (patch)
treebecfb8a40a0a307835bf715b68b81f30c8acc41e /src/2019/day5/aoc.cpp
parent73adf92fd06a5bb252c8a3e0e17b1221cae590cb (diff)
downloadadvent-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.cpp16
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];