![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
flow90 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.4.2007 Репутация: нет Всего: нет |
Задача вот такая:
Произвести проверку соблюдения баланса операторов CASE - END, BEGIN - END в тексте программы на языке Паскаль(в моем случае на языке С++). Использовать программный стек. то есть переводя на язык С++, проверить выполнение баланса скобок { ( [. в алгоритме ничего необычного...если встречаем одну из скобок, заносим ее в стэк, встречаем закрывающуюся -- удаляем ее оттуда...но вот с записью проблемы...первая задача со стэком, поэтому я не знаю как оно там вобще... если кому несложно, расчитываю на вашу помощь... thanks beforehand! ![]() |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Что я не могу понять - зачем тут нужен стек... Это обязательно?
Достаточно ведь три счетчика на каждый вид скобки Встретили открывающую скобку - увеличили соответствующий счетчик, встретили закрывающую - уменьшили... Что собственно в стек записывать? Позицию скобки? А потом выдавать попозиционно? Если нужен просто баланс скобок то не понимаю. |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 21 Всего: 92 |
Anikmar, ошибаетесь, стек тут самое оно
![]()
|
|||
|
||||
flow90 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.4.2007 Репутация: нет Всего: нет |
zkv, спасибо большое!но вот проблема в том, что если я покажу на STL мне не поверят, так как мы его еще не начинали проходить, нельзя ли это как-нибудь без классов....?заранее благодарна...
|
|||
|
||||
asdf999 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
не у кого нет никаких предложений....?
мне просто аналогичная задача нужна))) Это сообщение отредактировал(а) asdf999 - 25.5.2007, 20:16 |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 21 Всего: 92 |
Исправил баги, добавил пару проверок, на компиляторе не могу сечас проверить, если что говорите ![]() Это сообщение отредактировал(а) zkv - 27.5.2007, 14:35 |
|||
|
||||
apook |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 10 Всего: 23 |
Это сообщение отредактировал(а) Guedda - 27.5.2007, 14:42 -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
||||
|
|||||
asdf999 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
apook, спасибо
![]() zkv, с классами я еще плоховато знаком, поэтому вот эту часть программы не понимаю...если вам несложно, можно туда комментариев... ![]() flow90, у нас случайно не общие преподователи?))))вы откуда?
Это сообщение отредактировал(а) asdf999 - 27.5.2007, 11:10 |
|||
|
||||
flow90 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.4.2007 Репутация: нет Всего: нет |
asdf999, очень врятли
![]() а от комментариев я тоже не откажусь ![]() |
|||
|
||||
Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
обработка комментариев и литералов? типа
Я уверен что такие задачи надо начинать с lex/flex и уже потом смотреть результаты лексического анализа -------------------- Бонифаций. |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 21 Всего: 92 |
Бонифаций, это понятно, делаем скидку на то, что задача учебная, тем более есть уточнение:
тем более если есть проблемы с написанием даже такой программы, то с разбором комментариев будет сложнее. |
|||
|
||||
flow90 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.4.2007 Репутация: нет Всего: нет |
zkv, значит комментариев не будет...?
|
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 21 Всего: 92 |
flow90, простите, забыл сказать, что исправил мой пост выше
![]() |
|||
|
||||
flow90 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.4.2007 Репутация: нет Всего: нет |
zkv, спасибо большое!!!!!!!вы мне очень помогли!!!!!!!
![]() ![]() ![]() ![]() ![]() |
|||
|
||||
F18 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 8.6.2008 Репутация: нет Всего: нет |
C++]:работа со стеком:
Задача вот такая:>>В текстовом файле записано без ошибок логическое выражение следующего вида: <лог.выр.>::=true | false | !<лог.выр> | <лог.выр>.>&&<лог.выр> |<лог.выр.> || <лог.выр.> Используя стек, вычислить значение этого выражения с учетом общепринятого приоритета операций. я всю голову сломал помогите пожалуйста очень прошу |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |