Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
max33x
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 27
#1

Организация регулярной грамматики используя конечный автомат, представленный в виде графа - C++

23.11.2012, 03:00. Просмотров 754. Ответов 1
Метки нет (Все метки)

Доброй ночи!
Организация регулярной грамматики с помощью конечного автомата, представленного в виде графа.
Хочу попросить у вас помощи. Не получается сопоставить конечный автомат и проверку введенного в поле Edit выражения на соответствие переходов графа. Автомат реализую через case, но пока получается только по одному символу проверять. Фразу целиком посимвольно не понимаю как. Может есть примеры или может хотя бы подсказку н нужное направление. Заранее благодарен!
Организация регулярной грамматики используя конечный автомат, представленный в виде графа
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 03:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Организация регулярной грамматики используя конечный автомат, представленный в виде графа (C++):

Конечный автомат - C++
Всем доброго времени суток! Я в программировании кое-что понимаю, но именно что "кое-что". По болезни пропустил недели две, препод по проге...

Конечный автомат - C++
Доброго времени суток! Помогите, пожалуйста, разобрать задачу. Дано условие: C*C(aa)b(a)*(aa|ab) Для этого нужно написать задачу на...

Конечный автомат - C++
Нужно написать программу работы данного автомата.

Конечный автомат - C++
Задание типа нахождения кратчайшей последовательности вставок и удалений одного символа превращающий данную цепочку x в такую же данную y,...

Конечный автомат - C++
Здравствуйте! Возникли проблемы с задачей: дан набор правил q0 -> aq1, q1 -> bq2, q1 -> q2, q1 -> cq2, q2 -> aq3 и др. Нужно написать...

Детерминированный конечный автомат - C++
Всем привет,у меня такая проблема: Написал в билдере код,но не получается запустить в VS 10,никак не могу понять в чем же проблема. И кому...

1
zvoronz
271 / 239 / 21
Регистрация: 29.05.2012
Сообщений: 889
23.11.2012, 04:15 #2
Сначала составим матрицу переходов конечного автомата.
Организация регулярной грамматики используя конечный автомат, представленный в виде графа
Затем напишем код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <iostream>
 
using namespace std;
 
int termbychar(char ch)
{
    switch(ch)
    {
        case 'A': return 0;     
        case 'B': return 1;     
        case 'Z': return 2;     
    }
}
 
int main(int argc, char **argv)
{
    int state_matr[4][3] = {{1,2,-1},
                            {1,-1,3},
                            {-1,2,3},
                            {1,2,-1}};                      
    int state = 0;
    char ch;
    while((ch = getchar()) != '\n')
    {
        int term = termbychar(ch);
        state = state_matr[state][term];
        if(state == -1)     
            cout << "Error in expression!" << endl;
    }
    if(state != -1)
        cout << "Good expression!" << endl;
    getchar();
    return 0;
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 04:15
Привет! Вот еще темы с ответами:

Конечный автомат для строк - C++
Конечный автомат для строк используя switch. Помогите пожалуйста...

Конечный автомат. Построить транслитератор - C++
Построить транслитеротор: кириллица-&gt;латиница, а также конечный автомат, осуществляющий обратную транслитерацию: латиница-&gt;кириллица в...

Как организовать на си++ недетерминированый конечный автомат? - C++
Доброго времени суток. Подскажите пожалуйста как организовать на си++ не детерминированый конечный автомат, с теорией знаком, на практике...

Конечный автомат. Лабиринт (поиск в глубину) - C++
Пусть лабиринт задан двумерным массивом bool, индексы ячеек соответствуют их координатам. Ячейка содержит true, если она проходима, и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru