![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.11.2011
Сообщений: 29
|
![]()
Дана строка S. Из строки требуется удалить текст, заключенный в фигурные скобки. В строке может быть несколько фрагментов, заключѐнных в фигурные скобки. Возможно использование вложенных фигурных скобок и, следовательно необходимо, чтобы программа это учитывала.
Код:
Последний раз редактировалось Stilet; 26.12.2012 в 22:03. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
если можно использовать регулярные выражения - то я бы на вашем мести использовал именно их.
Если же нет, то тогда я такой алгоритм предложил - находим первую открывающую скобку, запоминаем индекс, счётчик =1, дальше идём по строки и считаем фигурные скобки - открывающая +1 к счётчику, закрывающая -1 к счётчику и проверяем - если счётчик стал равным нулю - удаляем всё от запомненного индекса до текущей позиции. Тут же минимальный контроль корректности строки. Если дошли до конца строки, а счётчик открывающих/закрывающих скобок не стал равным нулю - выдавать ошибку: "для скобки в позиции (запомненный индекс) не найдена закрывающая скобка." Всё вышесказанное повторять в цикле, пока в строке есть хоть одна открывающая фигурная скобка. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обработка строк C++ | krolex | Помощь студентам | 0 | 23.05.2010 14:39 |
обработка строк | Razyiller | Компоненты Delphi | 8 | 17.04.2010 00:01 |
Обработка строк(Си) | Bl@st | Помощь студентам | 2 | 30.12.2009 23:14 |