Форум программистов, компьютерный форум CyberForum.ru

рекурсии... - C++

Восстановить пароль Регистрация
 
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
06.03.2011, 11:02     рекурсии... #1
задание:
Во входном файле задано без ошибок логическое выражение следующего вида :
<логическое выражение>::= true|falsе|<операция>(<операнды>)
<операция>:: = not |and| or
<операнды>:: = <операнды>|<операнд>,<операнды>
<операнд>:: = <логическое выражение>
У операций and и or может быть любое число операндов, у not – только один. Ввести это выражение и вычислить его значение. Например, and(or(false, not(false)), true, not(true))=> false

если не сложно подскажите плиз алгоритм. я просто не могу понять как тут надо применить рекурсии.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2011, 11:02     рекурсии...
Посмотрите здесь:

C++ С Использованием рекурсии!
C++ Рекурсии.
Вопрос по рекурсии C++
использование рекурсии C++
C++ Использование рекурсии
C++ Возврат рекурсии
C++ Ошибка в рекурсии
C++ Использование рекурсии

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
06.03.2011, 12:21     рекурсии... #2
<операнды>:: = <операнды>|<операнд>,<операнды>
У вас тут по-любому рекурсивный разбор зациклится, так что вы наверное имели ввиду
<операнды>:: = <операнд>|<операнд>,<операнды>
А вообще вам нужно смотреть алгоритмы нисходящего разбора, например метод рекурсивного спуска. Дальнейшие пояснения можно найти здесь : http://en.wikipedia.org/wiki/Recursive_descent_parser
Yandex
Объявления
06.03.2011, 12:21     рекурсии...
Ответ Создать тему
Опции темы

Текущее время: 11:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru