Как я могу сделать функцию копирования массива с помощью рекурсии в C ++ - PullRequest
0 голосов
/ 24 апреля 2020

Я застрял на нем целый день. Я пытаюсь использовать

void recCopy(int from[], int to[], int i) {

}

для копирования с

void iterCopy(int from[], int to[], int size) {

    for (int i = 0; i < size; ++i)

        to[i] = from[i];
}

1 Ответ

2 голосов
/ 24 апреля 2020

i - количество копируемых элементов, поэтому

  • , если i равно нулю, все готово
  • , в противном случае скопируйте один элемент, затем скопируйте i-1 элементов с "хвостами" массивов.

В коде:

void recCopy(int from[], int to[], int i) 
{
    if (i > 0)
    {
        *to = *from;
        recCopy(from + 1, to + 1, i - 1);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...