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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2018, 19:42   #1
StrigMAN
Новичок
Джуниор
 
Регистрация: 02.05.2016
Сообщений: 2
По умолчанию Помогите с конечными автоматами

Всем доброе время чуток . Есть некая проблема помогите решить
Есть прога которая должна реализовать функцию лексического анализа, получающего на вход цепочку языка, отображающего переходы между состояниями конечного автомата .
Говорю сразу я не программист и не учусь на него , просто препод задал и все.
Зарание спасибо

#include <stdio.h>
#include <iostream>

using namespace std;

int scan_g()
{

enum state { H, A, B, C, S, ER };
enum state CS;

FILE *fp;
int c;

CS = H;

fp = fopen("date", "r");
c = fgetc(fp);
do
{
switch (CS)

case H:
if (c == 'a')
{
c = fgetc(fp);
CS = A;

}
else if (c == 'b')
{
c = fgetc(fp);
CS = B;
}
else
CS = ER;

break;

case A:
if (c == 'b')
{
c = fgetc(fp);
CS = C;
}
else CS = ER;
break;

case B: if (c == 'a')
{
c = fgetc(fp);
CS = C;
}
else
CS = ER;
break;

case C:
if (c == 'a') {
c = fgetc(fp);
CS = A;
}
else if
(c == 'b') {
c = fgetc(fp);
CS = B;
}
else if (c == '?') CS = S;
else CS = ER; break;
}
} while (CS != S && CS != ER);
if (CS == ER)
return -1;
else
return 0;
}
StrigMAN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод нужен срочно помогите ) в течение 2 часов от Паскаля на Турбо СИ нужно помогите Жанибек Помощь студентам 14 01.04.2015 17:23
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44