#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
int N; // исходный размер.
std::cin >> N;
std::vector<int> arr(N);
int number(0);
for(int i = 0; i < N; i++)//инициализируем вектор значениями с клавиатуры.
{
static int temp;
std::cin >> temp;
if(temp % 2 == 0)
{
if(!number)
number = temp;
temp += number;
}
arr.push_back(temp);
}
for(const auto& i : arr)
std::cout << i << std::endl;
}
Оттабулируешь сам(-а).
Компилировал в стандарте С++14, компилятор g++
Но проще не мучиться и просто написать программу, выполняющую этот код.
python 3.
array = [10, 330, 50, 19, 17, 0, 184, 0]
array_position = 2
program = "[->[->+>+<<]>>[-<+<+>>]<<<]>>."
stack = []
transitions = [None] * len(program)
for k, op in enumerate(program):
if op == '[':
stack.append(k)
elif op == ']':
v = stack.pop()
transitions[k] = v + 1
transitions[v] = k + 1
k = 0
while k < len(program):
op = program[k]
if op == '.':
print(array[array_position])
elif op == '>':
array_position += 1
elif op == '<':
array_position -= 1
elif op == '[' and array[array_position] == 0:
k = transitions[k]
continue
elif op == ']' and array[array_position] != 0:
k = transitions[k]
continue
elif op == '+':
array[array_position] += 1
elif op == '-':
array[array_position] -= 1
k += 1