Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

А ручками не?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 12.01.2013, 19:38   #3
Дарья:)
 
Регистрация: 12.01.2013
Сообщений: 3
Печаль

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
А ручками не?
эта задача, а не способ исправить свой XML код
Дарья:) вне форума Ответить с цитированием
Старый 12.01.2013, 19:57   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

А, ну тогда TStrigList в помощь.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 12.01.2013, 20:21   #5
Дарья:)
 
Регистрация: 12.01.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
А, ну тогда TStrigList в помощь.
а конкретнее можете пояснить?
Дарья:) вне форума Ответить с цитированием
Старый 12.01.2013, 20:35   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Конечно могу. Открываете TStingList, загружаете в него ваш фаёл и делаете с ним, что хотите....
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 12.01.2013 в 20:39.
Smitt&Wesson вне форума Ответить с цитированием
Старый 12.01.2013, 21:55   #7
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
<a><a>
Вот здесь какой "один символ" был "заменён на любой другой"?
Задача, вообще-то, выходит довольно крутая. Тривиальные проверки: число открывающих угловых скобок равно числу закрывающих, слэши идут только после открывающих скобок. Если что-то нарушено здесь, отловить вроде не проблема. Если нет... я бы посчитал слеши, а потом попробовал сворачивать XML, пока это возможно. Мы либо в какой-то момент упрёмся в ситуацию, когда закрывается тег, отличный от последнего открытого, либо когда документ закончился при паре открытых тегов. А вот дальше, в зависимости от того, половина ли слэшей от числа тегов, больше половины или меньше половины, надо действовать по-разному, но не очень соображу, как именно.

Варианты повреждения (отступы для наглядности, соответствуют оригинальному документу):
Код:
<first>
  <second>
  <ssecond>
  <second>
  </second>
</first>
Код:
<first>
  <second>
   </second>
   </ssecond>
  </second>
</first>
Код:
<ssecond>
  <second>
  <ssecond>
  <second>
  </second>
</ssecond>
Код:
<first>
  <second>
    <secund>
    </second>
  </second>
  <secund>
  </secund>
</first>
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать класс "Фигура", от него наследованием создать 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