Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2014, 11:44   #1
Весбат
 
Регистрация: 11.12.2014
Сообщений: 5
По умолчанию Возвращение значений массива, после рекурсионного вызова

Код:
1)    int a[5] = {1,2,3,4,5};
2)    int Fun (int a[]){
3)       for (int j=0; j<5; j++) a[j]++;
4)       for (int i=0; i<5; i++){
5)            if (a[i]%2==0) Fun(a);
6)      }
7)   }
Предположим, есть такая функция. При выполнении рекурсивного вызова функции в строке 5, элементы массива изменяются. Возможно ли сделать так, чтобы после выполнения строки 5, т.е. при возврате в корень рекурсии, значения массива возвращались к тем, какими они были до вхождения в рекурсию?
Весбат вне форума Ответить с цитированием
Старый 11.12.2014, 11:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну делай копию массива, и работай с ней.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.12.2014, 12:14   #3
Весбат
 
Регистрация: 11.12.2014
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну делай копию массива, и работай с ней.
Спасибо. А я работал не с копией, а с исходником и после возвращения в корень приравнивал значение старого массива, и при глубокой рекурсии возникали ошибки.
Весбат вне форума Ответить с цитированием
Старый 11.12.2014, 13:14   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что-т я не понимаю в чем смысл такой рекурсии?
Или пример в топе это просто пример, и на самом деле код другой?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.12.2014, 16:38   #5
Весбат
 
Регистрация: 11.12.2014
Сообщений: 5
По умолчанию

Оригинальный код большой, чтобы долго не разбираться в нем, свел его часть к тривиальному виду. Как итог, сейчас оригинальный код отлично работает, благодаря Вам. Спасибо.
Весбат вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
возвращение массива с функции Bantom Помощь студентам 2 18.03.2014 22:36
Не выполняется код после вызова другой процедуры... sorockinalex Общие вопросы Delphi 3 09.09.2012 18:24
Delphy. После вызова модального окна циклится DateTimePicker. Не могу понять почему Kompressor Помощь студентам 3 10.10.2011 08:38
Возвращение функцией массива GonZaleZ Общие вопросы C/C++ 7 21.09.2009 13:56
Функция: возвращение нескольких значений. Вадим Буренков Общие вопросы Delphi 2 14.05.2009 18:05