![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Dr1khem |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Dr1khem Репутация: ![]() ![]() ![]() |
Построить все правильные скобочные выражения 2N то есть те которые содержат по N правых и N левых скобок. Использовать рекурсию.
rocedure ShowVariant(s : string; a, b : integer); Сообщение отредактировано: Lapp - 23.03.2012 2:54 |
![]() ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Это не то, что сказано в первоначальном посте. Теперь вообще непонятно, к чему тут приведенный код.
Тебе нужна проверка на вложенность скобок, ищи по форуму, тут есть не меньше 5 способов такой проверки. А потом, после проверки, решаешь что делать. Если "неправильность" добавлением закрывающих скобок исправить не удастся (строка не разобрана до конца но стек пуст - значит, проблема типа '()())()', и добавление скобок с любой стороны ничего не даст, ибо ты не знаешь, где именно подразумевалась открытая скобка) - значит выдавать сообщение об ошибке. Если удастся (разобрали строку до конца, но в стеке остались открытые скобки) - значит дописываешь к введенной последовательности нужное число скобок. Сообщение отредактировано: IUnknown - 22.03.2012 13:35 |
Dr1khem |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Dr1khem Репутация: ![]() ![]() ![]() |
Это не то, что сказано в первоначальном посте. Теперь вообще непонятно, к чему тут приведенный код. Тебе нужна проверка на вложенность скобок, ищи по форуму, тут есть не меньше 5 способов такой проверки. А потом, после проверки, решаешь что делать. Если "неправильность" добавлением закрывающих скобок исправить не удастся (строка не разобрана до конца но стек пуст - значит, проблема типа '()())()', и добавление скобок с любой стороны ничего не даст, ибо ты не знаешь, где именно подразумевалась открытая скобка) - значит выдавать сообщение об ошибке. Если удастся (разобрали строку до конца, но в стеке остались открытые скобки) - значит дописываешь к введенной последовательности нужное число скобок. это примерный код а надо свой написать |
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 22:19 |