|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.05.2009, 18:04 | #1 |
Регистрация: 16.02.2009
Сообщений: 5
|
Вопрос по коду(Pascal)
Собственно задача :
Дана последовательность круглых фигурных и квадратных скобок. Определить, нет ли "пересечения" скобок. Например, последовательность (([)])() НЕправильна, а последовательность (([()])()) - правильна. Воспользовавшись поиском форума, нашел тему http://programmersforum.ru/showthrea...EA%EE%E1%EE%EA С исходником от Min'a : Код:
У меня есть др. код, но его надо чуток дописать...Хочу взять этот |
31.05.2009, 18:10 | #2 |
Участник клуба
Регистрация: 16.03.2009
Сообщений: 1,013
|
Да, подходит.. программа удаляет все последовательности (), [] или {} встреченные в тексте.. если строка неверна (например та, что вы указали), то в строке останутся символы.. если введена правильная строка - она будет полностью удалена.. процедура pos возвращает позицию подстроки в строке (если таковая имеется), length - возвращает длину строки..
Если например взять ваши строки.. рассмотрим по итерациям цикла (([()])()) : 1. (([])()) 2. (()()) 3. (()) 4. () 5. пустая строка с другой стороны (([)])() : 1. (([)]) и все.. дальше нечего удалять..
Uguu~
Последний раз редактировалось __STDC__; 31.05.2009 в 18:15. |
31.05.2009, 18:15 | #3 |
Proger Man
Форумчанин
Регистрация: 07.03.2009
Сообщений: 584
|
ДА ПРИМЕР ПРАВЕЛЬНЫЙ У МЕНЯ ЕСТЬ ДРУГОЙ ИСХОДНИК ТАМ ЛОГИКА ЛУТШЕ Я СЕГОДНЯ С РАБОТЫ ПРИЙДУ И ВЫЛОЖУ ЕСЛИ ХОЧИШ
ShowMessage('Добро пожаловать!');
|
31.05.2009, 18:16 | #4 |
Участник клуба
Регистрация: 16.03.2009
Сообщений: 1,013
|
хм... тут никаких ошибок в логике нету... единственное, можно было бы оформить куски с if как процедуру.. а-то три раза один код переписан..
Uguu~
|
31.05.2009, 20:11 | #5 | |
Регистрация: 16.02.2009
Сообщений: 5
|
Цитата:
Возникла еще одна сложность. Если есть "пересечение", то при выводе строки на экран надо выделить цветом те скобки, из-за которых произошло "пересечение". Как реализовать? Последний раз редактировалось KORN; 02.06.2009 в 05:55. Причина: пользуемся правкой |
|
03.06.2009, 02:04 | #6 |
Регистрация: 16.02.2009
Сообщений: 5
|
|
09.06.2009, 21:20 | #7 |
Регистрация: 16.02.2009
Сообщений: 5
|
Вот еще код :
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по Pascal. | NitriNKa | Помощь студентам | 5 | 03.05.2009 20:50 |
вопрос по МАССИВАМ СИМВОЛОВ(Pascal) | -ushёl- | Помощь студентам | 6 | 15.03.2009 23:37 |
Вопрос по PASCAL | xxasb07 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 19.11.2008 12:21 |
У меня вопрос такой(Pascal) | Дима82 | Помощь студентам | 5 | 26.05.2008 22:02 |
Комментарии к коду | Ярослав | Помощь студентам | 4 | 23.11.2007 16:57 |