0 / 0 / 0
Регистрация: 08.06.2017
Сообщений: 7
1

Убрать фигурные скобки и их содержимое

14.06.2017, 10:51. Показов 1552. Ответов 6
Метки нет (Все метки)

В текстовом файле содержится какое-то сообщение. Если в нем присутствуют фигурные скобки {} то нужно удалить из сообщения эти скобки и текст, который в них заключается. Реализовать программу нужно с использованием конечного автомата.
Преподаватель требуем именно через конечный автомат, а лектор говорит, что это проходиться в следующем семестре. Не могу разобраться. Помогите плиз!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2017, 10:51
Ответы с готовыми решениями:

Фигурные скобки: Мне пишут что ошибка в закрытие скобки после return.
#include <iostream> using namespace std; int main(){ int *ptr_number = new int; int *sum =...

Фигурные скобки в C++11
Видимо, я отстал от жизни. Заметил, что Страуструп в 4-ом издании активно рекламирует использование...

Убрать двойные фигурные скобки из объекта (десериализация json)
Объект имеет вид item = {{ "name": "Петя", "age": 18, "address": "Cuba"}}. При попытке...

Фигурные скобки
Здравствуйте! Помогите разобраться с фигурными скобками в GET запросе, а именно: Прилетает...

6
3888 / 2813 / 651
Регистрация: 08.06.2007
Сообщений: 9,569
Записей в блоге: 4
14.06.2017, 12:21 2
А как вам помочь? Преподаватель давал вам примеры программ на конечные автоматы? Выложите их сюда и задайте вопросы.
0
1160 / 822 / 358
Регистрация: 26.02.2015
Сообщений: 3,709
14.06.2017, 13:09 3
Цитата Сообщение от Евгений997 Посмотреть сообщение
это проходиться в следующем семестре
Сами учебник возьмите в библиотеке, да почитайте.
0
0 / 0 / 0
Регистрация: 08.06.2017
Сообщений: 7
14.06.2017, 14:06  [ТС] 4
никаких примеров нам не давали
на практике и на лекциях у нас разные преподаватели
и они друг с другом не контактируют
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
14.06.2017, 14:25 5
Самое простое решение, на регулярках.
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iterator>
#include <regex>
#include <string>
 
int main()
{
    std::string str = "Eniki {be{n}iki }eli vareniki";
    std::regex_replace(std::ostream_iterator<char>(std::cout), str.begin(), str.end(), std::regex("\\{.*\\}"), "");
}
0
803 / 530 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
14.06.2017, 15:09 6
Лучший ответ Сообщение было отмечено Евгений997 как решение

Решение

MrGluck, в таком случае неверно отработает
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iterator>
#include <regex>
#include <string>
 
int main()
{
    std::string str = "Eniki {beniki }eli {vareniki}";
    std::regex_replace(std::ostream_iterator<char>(std::cout), str.begin(), str.end(), std::regex("\\{.*\\}"), "");
}
Добавлено через 5 минут
автомат можно составить по такому алгоритму:
1) идти от начала файла до его конца и искать закрывающую скобку
2) если не найдено, то конец
3) от найденной позиции идти в обратную сторону и искать открывающую скобку
4) если не найдено, то ошибка
5) удалить символы в диапозоне обеих позиций

ну и так в цикле
1
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
14.06.2017, 15:14 7
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
MrGluck, в таком случае неверно отработает
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iterator>
#include <regex>
#include <string>
 
int main()
{
    std::string str = "Eniki {beniki }eli {vareniki}";
    std::regex_replace(std::ostream_iterator<char>(std::cout), str.begin(), str.end(), std::regex("\\{.*?\\}"), "");
}
Добавлено через 2 минуты
Но тут надо определиться. Либо вложенность и удаляется всё во внешних скобках, либо пробуем искать несколько невложенных скобок. Можно, конечно, сделать и просмотр назад, но надо ли? Решение всё равно ТС не подходит.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2017, 15:14
Помогаю со студенческими работами здесь

Фигурные скобки
&lt;?php if ({news-id} == 6) { echo '&lt;div class=&quot;android_app_title_h&quot;&gt; ...

Фигурные скобки
Проблема в следующем: интерпретатор не желает раскрывать фигурные скобки #! /bin/sh mkdir...

Фигурные скобки в Eclipse
Здравствуйте. Вчера установил себе Eclipse и хочу максимально настроить проект под свой стиль. Так...

фигурные скобки в Mathcad
как поставить фигурные дужки в маткаде???


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru