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

Brainf**k - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Рекурсия, ошибка http://www.cyberforum.ru/cpp-beginners/thread239332.html
Здраствуйте! У меня есть одна классическая задачка про Лесенку. Лесенка Лесенкой называется набор кубиков, в котором каждый более верхний слой содержит кубиков меньше, чем предыдущий. Требуется написать программу, вычисляющую число лесенок, которое можно построить из N кубиков. Входные данные Во входном файле input.txt записано натуральное число N (1 ≤ N ≤ 225) – количество кубиков в...
C++ Рекурсия Здраствуйте! У меня есть одна классическая задачка про Лесенку. Лесенка Лесенкой называется набор кубиков, в котором каждый более верхний слой содержит кубиков меньше, чем предыдущий. Требуется написать программу, вычисляющую число лесенок, которое можно построить из N кубиков. Входные данные Во входном файле input.txt записано натуральное число N (1 ≤ N ≤ 225) – количество кубиков в... http://www.cyberforum.ru/cpp-beginners/thread239329.html
C++ Шаблонные функции
Чет не получается написать шаблонную функцию. func.h template <class T> T strnstr (T str, T substr, unsigned int count) { T* str1; T* str2 = substr;
Даны действительные числа C++
1. Даны действительные числа x, y, z Вычислить: а)max(x+y+z, xyz) б)min^2(x+y+z/2,xyz)+1 2) даны x,y,z. вычислить a,b если a=(1+y)*((x+y)/(x^2+4))/e^-x-2 + 1/(x^2+4) b=(1+cos(y-2))/x^4 / 2+sin^2 Z помогите решить пожалуйста.
Visual C++ MFC Picture Control http://www.cyberforum.ru/cpp-beginners/thread239282.html
как сделать что бы Picture Control появлялся только после нажатия кнопки ?
C++ Вычислить арифметическое выражение пожалуйста помогите : Дано натуральное число n. Вычислить подробнее

Показать сообщение отдельно
perimetral
1 / 1 / 0
Регистрация: 17.12.2010
Сообщений: 16
07.02.2011, 12:48     Brainf**k
Народ, суть проблемы такова: наш препод по программированию сам только только окончил вуз, и, к сожалению, это дотавляет неприятности. Вот какое задание к лабораторной он дал:
"Как известно, язык Brainf**k есть интерпретируемый язык программирования с 8ю операциями: > < + - [ ] , .. Задача состоит в написании интерпретатора для него на C++.". Почитать о нем лучше всего на Вики. Это вроде не сложно. В крайнем случае можно взять известный интерпретатор на JS и переписать структуру под C++. Но для 5ки, нужно еще кое-что добавить: необходимо описать процедуры языка. Для управления процедурами добавить еще 3 оператора: ( ) :. Оператор ( должен начинать описание процедуры. Т.е. грубо говоря, функции. ID (как бы имя) процедуры есть число и сохраняется в ячейке, на которой стоит каретка при описании процедуры. Оператор ) заканчивает процедуру. Код в процедуре не выполняется при последовательном интерпретировании кода, и вызывается командой :. Команда : читает значение текущей ячейки и вызывает процедуру с ID, указанным в этой ячейке. Для работы в процедуру передается следующая ячейка (т.е. в самой процедуре каретка изначально будет стоять на ячейке n+1, где n - ячейка , хранящая ID процедуры).
Народ, пожалуйста, помогите, для повышенной стипендии как раз не хватает этого зачета на 5, буду очень благодарен! Сдавать в пятницу, так что, думаю, время есть. Собственно, нужен полный интерпретатор + новые 3 команды.
Пример кода с ними:
Код
>>>+(+++)<<<,>+:<[>>+<<-].
Тут мы в 3й ячейке (если отчет с 0 вести) ставим ID процедуры = 1, потом описываем процедуру (она трижды инкрементирует рабочую ячейку), потом возвращаемся в ячейку 0, вводим в нее символ, в ячейке 1 ставим единицу и вызываем процедуру с этим ID. Т.к. рабочая ячейка нашей процедуры в данном случае - ячейка 2, потому мы возвращаемся в ячейку 0 и переносим из нее значение в ячейку 2, прибавляя то, что там уже есть. Выводим результат - наш символ + 3 по ASCII.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru