aboutsummaryrefslogtreecommitdiff
path: root/src/2019/day5/aoc.cpp
diff options
context:
space:
mode:
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];