LINUX.ORG.RU

yacc


0

1

Здравствуйте возник вопрос допустим мне нужно реализовать какой либо автомат ну допустим такой из 4 состояний A->1B A->0D B->0C B->1A C->0B C->1D D->1C D->0A (ну соответственно начальный и конечный элемент автомата А, подается бинарный вектор) как это можно сделать, что то ничего толкового не лезит в голову спасибо

Якк обязательно?

enum { A, B, C, D };

int state = A, v;

while (0 <= (v = next())) {
    switch (state) {
        case A:
            state = v ? B : D;
            break;
        case B:
            state = v ? A : C;
            break;
        case C:
            state = v ? D : B;
            break;
        case D:
            state = v ? C : A;
            break;
    }
}

arturpub ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.