![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
XimeR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 3.6.2009 Репутация: нет Всего: нет |
Собственно задача :
Дана последовательность круглых фигурных и квадратных скобок. Определить, нет ли "пересечения" скобок. Например, последовательность (([)])() НЕправильна, а последовательность (([()])()) - правильна. Нашел исходник:
Возникла еще одна сложность. Если есть "пересечение", то при выводе строки на экран надо выделить цветом те скобки, из-за которых произошло "пересечение". Как реализовать?(с моими небольшими знаниями...) Или тут придется по-другому писать? |
|||
|
||||
neic |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: 5 Всего: 7 |
Насчёт выделения скобок используй TextColor
|
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
кидайте в стек левые скобки. и извлекайте из стека, когда встречается правая скобка.
если извлечённой скобки отличается от типа закрывающей скобки - значит ошибочный порядок скобок. |
|||
|
||||
XimeR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 3.6.2009 Репутация: нет Всего: нет |
Видел такие советы в инете, но блин в стеках и прочем я не силен, т.к. еще это не изучил...=( А исходник только один нашел, который выложил... А в этом коде не корректные скобки никак не подстветить при выводе? |
|||
|
||||
I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 2 Всего: 15 |
Принцип стека, насколько я знаю, такой. Сначала так 1.# 2.# 3.# 4.# 5.# 6.# потом, допустим, появилась квадратная скобка стало так 1.[ 2.# 3.# 4.# 5.# 6.# потом, допустим, круглая стало так 1.( 2.[ 3.# 4.# 5.# 6.# т.е. содержимое переместилось вправо потом, допустим, квадратная стало так 1.[ 2.( 3.[ 4.# 5.# 6.# опять вправо, впуская новый элемент с левой стороны а потом, допустим, закрывающая скобка. и если она совпадает с 1 (т.е. квадратная), то становится так 1.( 2.[ 3.# 4.# 5.# 6.# т.е. левый элемент убирается; процесс продолжается... а если закрыв. скобка по своему типу не совпадает с крайним левым элементом, то значит ошибочка вышла. Это сообщение отредактировал(а) I_Am_Rock - 3.6.2009, 22:29 |
|||
|
||||
XimeR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 3.6.2009 Репутация: нет Всего: нет |
Вот еще код :
Может кто-нибудь помочь дописать\исправить, а то я еще не разобрался, а надо, чтобы работала... |
|||
|
||||
XimeR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 3.6.2009 Репутация: нет Всего: нет |
Что, вообще никаких вариантов?
Добавлено позже Что, вообще никаких вариантов? |
|||
|
||||
taiven |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: 4 Всего: 9 |
правда здесь не совсем стек получился ![]() |
|||
|
||||
XimeR |
|
||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 3.6.2009 Репутация: нет Всего: нет |
Что-то не пойму...Ввожу неправильную последовательность ([)] а пишет Good....Доделывать надо что-то? |
||||
|
|||||
taiven |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: 4 Всего: 9 |
Нет, не пишет ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |