Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2012, 12:34   #1
Arrioh
Пользователь
 
Регистрация: 25.03.2012
Сообщений: 60
Печаль Стек в С++

Задание: Написать программу для определения правильности введённого скобочного выражения на основе стека, реализованного с помощью связного списка. Три вида скобок: (),[],{}.
Сам стек я написал. А а вот на алгоритмах проверяющих правильность введенного скобочного выражения я завис... SOS
Arrioh вне форума Ответить с цитированием
Старый 25.04.2012, 12:44   #2
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

А что сложного дальше? Начинаешь читать из стека строку, находишь скобку, запоминаешь в список например куда-нибудь (самое простое будет), потом смотришь если попалась парная ей, удаляешь ту что запомнил. В итоге после прохода по стеку в списке у тебя остануться скобки, которым не нашлось пары, если таковые есть, значит выражение неверное.
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 25.04.2012, 12:45   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

если (,[,{ то добавить в стек
если ),],} и скобка_из_стека не соответствующая то неправильно
p51x вне форума Ответить с цитированием
Старый 25.04.2012, 12:48   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Обычно делается так. Открывающая скобка записывает код, её характеризующий, в стек. Если находится закрывающая скобка, происходит выталкивание из стека.
В процессе работы стека делается проверка на переопустошение (нет парных скобок). Или в конце выражения на остаток (излишек скобок). Так-же может возникнуть ситуация (изменения порядка следования скобок). Проверяется вершина стека на открытую-закрытую скобки.

Цитата:
Начинаешь читать из стека строку,
Только в обратном порядке. Начинаешь читать строку, а скобку помещаешь в стек (иначе зачем он нужен).
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 25.04.2012, 13:00   #5
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

А ну да =) Я то просто подумал что он строчку в стек затолкал =))
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стек MarsikSA Помощь студентам 1 23.04.2012 14:44
стек cop08 Общие вопросы C/C++ 1 25.03.2011 19:18
Стек [ICQ] Помощь студентам 5 02.05.2010 13:44
стек в с++ Aleksa_ks Помощь студентам 0 02.05.2010 12:12