Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Arthur X
0 / 0 / 0
Регистрация: 16.06.2015
Сообщений: 1
1

Как работать с рекурсивными шагами?

16.06.2015, 15:12. Просмотров 254. Ответов 1
Метки нет (Все метки)

Например, у меня работает функция, и всё в ней меня устраивает, но вот мне потребовалось сохранить эту функцию и
вызвать новую. В определенный момент мне эта функция (в первом рекурсивном шаге) становится не нужной, и соответственно
мне надо вернуться к предыдущей функции, т. е. сделать рекурсивный шаг назад. Это могут быть любые рекурсивные шаги, и в любую сторону, 1->2, 12->11, 1->0.
Проблема в том, что при достижении основного случая, рекурсия завершается. Т. е. мне надо, чтобы функция работала в
любом рекурсивном шаге. Например, у меня функция, я не знаю, продавца. Вот к продавцу приходит покупатель, и хочет купить
товар за 100 рублей (это нулевая функция). Продавец начинает выписывать чек, объяснять как работает товар, покупателю не нравитя цвет, продавец его меняет. Вообщем функция работает.
Но вот приходит покупатель который хочет купить товар за 1000 рублей, соответственно
продавец переключится на более дорогого покупателя (т. е. функция совершает рекурсивный вызов, для того, чтобы начать
работу с новым покупателем, не теряя при этом предыдущего). И так в течении всего рабочего дня, если приходит более дорогой
покупатель, то функция переключается на него (совершает рекурсивный вызов и начинает работать с новым значением). Когда работа с более
дорогим покупателем закончена, функция возвращается к предыдущему (самому дорогому) покупателю. При этом конечный случай (чтобы не допустить бесконечную рекурсию) функции продавца это
не завершение работы с покупателем, а завершение рабочего дня.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2015, 15:12
Ответы с готовыми решениями:

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

Сделать функции рекурсивными (Одна функция поиска в списке а другая удаления узла из списка)
здраствуйте помогите пожалуйста сделать две функции рекурсивными я ломал...

Как работать с интернетом?
Может кто подсказать книги, где описаны возможности работы на чистом Си с...

Как работать с псевдографикой
Псевдографика осуществима через си в консоли windows? Если да, то как она...

Как правильно работать с setlocale
после добавления setlocale не выводятся последние printf,которые после цикла....

1
eledev
55 / 55 / 39
Регистрация: 19.03.2015
Сообщений: 167
16.06.2015, 23:05 2
ваша функция должна фиксировать 2 события:

первое - пришел новый покупатель.
в этом случая должно проверятся условие более "дорогого" покупателя.
если условие соответствует то обслужить нового покупателя(вызвать вашу функцию рекурсивно с аргументом нового покупателя)

второе - конец рабочего дня
в этом случае просто безусловный выход из функции
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2015, 23:05

Как работать с большими текстами?
Что посоветуете чтоб программка начала работать с большими текстами. С...

Как работать с битовыми полями
В структуре имеется 2 поля: Наименование Авто и уникальный код. значение битов...

Random как с ним работать?
Ребят подскажите пожалуйста как работать с Randomam?Если быть точнее ,то :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru