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

объясните задачу, ничего не понял - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычисление НОД по алгоритму Евклида (как организовать код?) http://www.cyberforum.ru/cpp-beginners/thread1024910.html
Всем доброго время суток, помогите составить код задачи, я знаю как ее решить, но не знаю как правильно организовать. Вот условие задачи. Написать программу вычисления наибольшего общего делителя НОД по алгоритму Евклида: если a> b, то Evk (b, остаток от деления a на b) и так до остатка 0. Пример: Evk (30,21) -> Evk (21,9) -> Evk (9,3) -> Evk (3,0) -> наибольший общий делитель равен НОД = 3. ...
C++ Задача по функциям как её сделать ? http://www.cyberforum.ru/cpp-beginners/thread1024903.html
АВЛ дерево и коллизия хэша C++
До некоторых пор думал, что красно-черное и авл деревья, да и вообще любые структуры, позволяющие сделать нечто вида: printf("%d\n", myAssociativeMassive_String_and_Integer); реализованы при помощи сбалансированных двоичных деревьев, но потом прочитал, что оно, всё же, реализовано при помощи хэш-массивов. Тогда этому значения не придал, но сейчас подумал, а как так? Хэш, хоть и редко, но все же...
исключить все символы между круглыми скобками, включая сами скобки C++
исключить все символы между круглыми скобками, включая сами скобки. Рассмотреть случай вложенных скобок.
C++ Удалить из каждой группы идущих подряд цифр нули http://www.cyberforum.ru/cpp-beginners/thread1024887.html
удалить из каждой группы идущих подряд цифр нули
C++ Заменить все русские буквы строке их порядковыми номерами в русском алфавите заменить все русские буквы строке их порядковыми номерами в русском алфавите. подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
04.12.2013, 19:50
Составителю бы руки оторвать. Нет чтобы грамматику дать, так нет, нужно было повыёживаться и всё словами написать. Вот вам грамматика по этой задаче, вам остаётся написать анализатор по заданной грамматике (ищем по ключевым словам "формальные грамматики", "синтаксический анализатор", "метод рекурсивного спуска").
Грамматика для определения 1:
F ::= '(' T ')' R '(' T ')'
T ::= X | F
R ::= 'v' | '^' | 'ɔ' | '==' | '->' | '+'
X ::= 'α' | 'β' | 'γ' | 'δ' | 'ε' | 'μ' | 'λ' | 'ν'
Грамматика для определения 2:
F ::= R T T
T ::= X | F
R ::= 'v' | '^' | 'ɔ' | '==' | '->' | '+'
X ::= 'α' | 'β' | 'γ' | 'δ' | 'ε' | 'μ' | 'λ' | 'ν'
На самом деле, предложения на языках этих грамматик можно парсить более простыми способами, чем обобщённые, вроде рекурсивного спуска. Первая грамматика записана в полной скобочной записи, есть алгоритм для парсинга таких выражений. Вторая - в обратной польской нотации, для её разбора тоже существует алгоритм. Оба алгоритма простые, есть куча реализаций в интернете (для ОПН даже на вики есть код на сях).
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru