|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.01.2013, 19:28 | #1 |
Регистрация: 12.01.2013
Сообщений: 3
|
Задача "поврежденный XML" на C++
Во входном файле input.txt дается некорректная XML строка, в которой один символ заменен на какой-либо другой.
Задача программы исправить эту ошибку и вывести корректную XML строку в выходной файл output.txt, если вариантов ответов несколько можно вывести любой. Корректная XML строка состоит из открывающихся <a> и закрывающихся тегов </a>. примеры строк корректные: <a><b></b><c></c></a> <a></a><a></a><a></a> <d></d> некорректные: <a></b> <a><a> <a><b></a></a> строка во входном файле содержит только строчные буквы латинского алфавита и символы "<"(ASC|| код 60), ">"(ASC|| код 62), "/"(ASC|| код 47). |
12.01.2013, 19:36 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
А ручками не?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
12.01.2013, 19:38 | #3 |
Регистрация: 12.01.2013
Сообщений: 3
|
|
12.01.2013, 19:57 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
А, ну тогда TStrigList в помощь.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
12.01.2013, 20:21 | #5 |
Регистрация: 12.01.2013
Сообщений: 3
|
|
12.01.2013, 20:35 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Конечно могу. Открываете TStingList, загружаете в него ваш фаёл и делаете с ним, что хотите....
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 12.01.2013 в 20:39. |
12.01.2013, 21:55 | #7 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
Задача, вообще-то, выходит довольно крутая. Тривиальные проверки: число открывающих угловых скобок равно числу закрывающих, слэши идут только после открывающих скобок. Если что-то нарушено здесь, отловить вроде не проблема. Если нет... я бы посчитал слеши, а потом попробовал сворачивать XML, пока это возможно. Мы либо в какой-то момент упрёмся в ситуацию, когда закрывается тег, отличный от последнего открытого, либо когда документ закончился при паре открытых тегов. А вот дальше, в зависимости от того, половина ли слэшей от числа тегов, больше половины или меньше половины, надо действовать по-разному, но не очень соображу, как именно. Варианты повреждения (отступы для наглядности, соответствуют оригинальному документу): Код:
Код:
Код:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") | funnyy | Помощь студентам | 3 | 17.10.2012 17:40 |
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. | воваава | Помощь студентам | 3 | 01.12.2011 12:50 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
"Транспортная задача", "Поиск решения" | Perroman | Microsoft Office Excel | 3 | 12.12.2007 17:12 |