Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
#1

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

06.03.2011, 11:02. Просмотров 678. Ответов 1
Метки нет (Все метки)

задание:
Во входном файле задано без ошибок логическое выражение следующего вида :
<логическое выражение>::= true|falsе|<операция>(<операнды>)
<операция>:: = not |and| or
<операнды>:: = <операнды>|<операнд>,<операнды>
<операнд>:: = <логическое выражение>
У операций and и or может быть любое число операндов, у not – только один. Ввести это выражение и вычислить его значение. Например, and(or(false, not(false)), true, not(true))=> false

если не сложно подскажите плиз алгоритм. я просто не могу понять как тут надо применить рекурсии.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2011, 11:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос рекурсии... (C++):

Вопрос по рекурсии - C++
Добрый вечер. В книжке С++ базовый курс Шилдта стр 175-176 есть пример Отображение строки в обратном порядке с помощью рекурсии (функция...

Инкремент в рекурсии - C++
Ребят, что-то не могу врубиться. Задача: используя рекурсию выводить введенный ранее текст в обратном порядке. Вот рабочая версия: ...

С Использованием рекурсии! - C++
Привет! Есть задачка (она уже сделанная, ее у меня приняли): Во входном файле задана последовательность положительных вещественных...

сложности по рекурсии в С++ - C++
Правильно ли, что в функции: { if (number &lt; 0) { cout &lt;&lt; '-' &lt;&lt; endl; super_write_vertical(abs(number)); } else if...

Избавиться от рекурсии - C++
Каким способом лучше всего избавиться от рекурсии ?

Корректировка в рекурсии - C++
Возникла проблема в несложной задаче. Решать задачу конечно же не требуется, просто отккоректировать в плане рекурсии. Вот условие:...

1
Ma3a
Эксперт С++
618 / 462 / 31
Регистрация: 28.01.2011
Сообщений: 605
06.03.2011, 12:21 #2
<операнды>:: = <операнды>|<операнд>,<операнды>
У вас тут по-любому рекурсивный разбор зациклится, так что вы наверное имели ввиду
<операнды>:: = <операнд>|<операнд>,<операнды>
А вообще вам нужно смотреть алгоритмы нисходящего разбора, например метод рекурсивного спуска. Дальнейшие пояснения можно найти здесь : http://en.wikipedia.org/wiki/Recursive_descent_parser
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2011, 12:21
Привет! Вот еще темы с ответами:

Запутался в Рекурсии - C++
int f(unsigned no, unsigned div) { if (!no) return div; if (!div) div=1; if (no % 2) return div + f(no/div,...

Кэширование рекурсии - C++
Доброго времени суток. Есть задача. Сделать хотелось именно рекурсией(с циклами тривиально слишком), но я наткнулся на подводный...

Вопрос по рекурсии - C++
Здравствуйте. Обьясните новичку, почему если раскомментировать строчку (см. код программы) то программа будет выводить числа в обратном...

Использование рекурсии - C++
Написать программу, рекурсивно вычисляющую сумму: Найти сумму ряда с точностью , общий член которого равен . Точность считается...


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

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

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