+ Ответить в теме
Показано с 1 по 2 из 2

Тема: Парсер на С++

  1. #1
    dimon3306 is on a distinguished road
    Регистрация
    20.12.2017
    Возраст
    22
    Сообщений
    1
    Вес репутации
    0

    По умолчанию Парсер на С++

    Парсер, который принимает на вход текстовый файл, содержащий один корневой узел, и построить в памяти древовидное представление данных. Каждому узлу назначить целочисленный id. Затем слить данные в текстовый файл такой струтуры: (id узла, id вышестоящего узла, имя узла, значение в узле)

    В случае наличия ошибок формата данных, выдавать сообщение вида "Неверный формат данных" и завершать работу.

    Пример иерархической структуры:
    Код cpp:
    1. shape = {
    2. type = "tetrahedron"
    3. vertices = {
    4. point = { x = "1" y = "0" z = "0"
    5. }
    6. point= { x = "0" y = "1" z = "0" }
    7. point ={ x = "0" y = "0" z = "1" }
    8. point = { x = "1" y = "1" z = "1" }
    9. }
    10. color = { r = "0xFF" g = "0x00" b = "0x80" alpha = "0x80" }a="25"
    11. }
    12.  
    13. Пример выходного файла:
    14. (1, 0, shape, )
    15. (2, 1, type, tetrahedron)
    16. (3, 1, vertices, )
    17. (4, 3, point, )
    18. (5, 4, x, 1)
    19. (6, 4, y, 0)
    20. (7, 4, z, 0)
    21. (8, 3, point, )
    22. (9, 8, x, 0)
    23. (10, 8, y, 1)
    24. (11, 8, z, 0)
    25. (12, 3, point, )
    26. (13, 12, x, 0)
    27. (14, 12, y, 0)
    28. (15, 12, z, 1)
    29. (16, 3, point, )
    30. (17, 16, x, 1)
    31. (18, 16, y, 1)
    32. (19, 16, z, 1)
    33. (20, 1, color, )
    34. (21, 20, r, 0xFF)
    35. (22, 20, g, 0x00)
    36. (23, 20, b, 0x80)
    37. (24, 20, alpha, 0x80)
    38. (25, 1, a, 25)
    Последний раз редактировалось Romeo; 20.12.2017 в 15:09. Причина: [code=cpp][/code]

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    Moderator Куратор
    system architect
    Romeo is on a distinguished road Аватар для Romeo
    Регистрация
    02.03.2004
    Адрес
    Крым, Севастополь
    Возраст
    36
    Сообщений
    3,091
    Вес репутации
    21

    По умолчанию Re: Парсер на С++

    Это тестовое задание, которое дают перед собеседованием в компанию R-Style Softlab. Знаю, потому что выполнял его сам.

    Ты правда считаешь, что если кто-то выполнит это задание за тебя, то это позволит тебе пройти последующее собеседование? Скорее интервьювера удивит разница между предоставленным кодом и знаниями, что сразу натолкнёт на правильные выводы. Неужели это не очевидно?

    Извини, но это глупый поступок.
    Последний раз редактировалось Romeo; 20.12.2017 в 16:15.
    Entites should not be multiplied beyond necessity @ William Occam
    ---
    Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
    ---
    Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.

+ Ответить в теме

Похожие темы

  1. Парсер. Pascal
    В строке заданы через двоеточие 2 оператора присваивания общего вида: "первый:=число1+число2:второй:=число3-число4" (например:"A:=3+4:B:=7-2")....
    от brouken в разделе задачи на Паскале и Delphi
  2. Парсер для обработки тагов
    Всем привет, прошу Вас помочь в одной деликатной ситуации. Ситуация такая: есть некоторый текст из N символов. В этом тексте содержатся разные...
    от Deadangel в разделе Perl, PHP, ASP ...
  3. Парсер поисковика
    Задачка такая: Есть 10000 запросов нужно собрирать каждый день по каждому запросу первые 20 адресов сайтов, которые выдает поисковик (Google, Yandex...
    от Delta Soft в разделе Perl, PHP, ASP ...
  4. Парсер
    Доброго всем времени суток! Люди помогите кто чем может. Как написать парсер(или еще его граббером зовут) для каталога ссылок. Короче он должен...
    от vitpanov в разделе Perl, PHP, ASP ...
  5. XML парсер своими руками...?
    Здравствуйте. Хотелось бы узнать, что будет эффективнее, если стоит такая задача: Есть xml файл, нужно написать свой парсер (не используя...
    от ip в разделе Алгоритмы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения