У меня есть цикл for внутри рекурсивной функции. Индекс i в моем коде изменяется каждый раз, когда цикл for завершается, однако он сбрасывается при запуске рекурсии.
Можно ли сохранить значение, сохраненное через другую переменную или что-то в этом роде? Мне нужна переменная, которая хранит значение «i» первого шага рекурсии (или, точнее, значение «i», которое у меня есть до начала любой рекурсии).
Мой настоящий код кажется довольно сложным, поэтому я просто вставил пример кода, чтобы объяснить мою проблему.
Я пытался использовать другие переменные, а также глобальные переменные. К сожалению, они также меняются всякий раз, когда происходит рекурсия, потому что мне нужно каким-то образом сохранить для них значение 'i'.
int array[2][10];
void function(){
int x = 1;
for (int i = 0; i < 10; i++){
//Something happens here... (The base cases are in here)
for (int j = 0; j < 10; j++){
//Something happens here...(More base cases are in here)
array[0][x] += i; //When function() starts, i is 0. I need it to
//remain 0, while it
//runs through all the recursion steps (limited
//by a recursion counter).
//After the recursion returns to the first level,
//the for loop will continue.
//'i' will be 1 and then I need this value to
//stay the same throughout all the
//recursion steps once again. How do I do that?
//Recursion
function();
}
}
}
Я хотел, чтобы 'i' оставался прежним, но вместо этого он сбрасывается каждый раз, когда рекурсия перезапускает цикл for.