Untitled
unknown
plain_text
a year ago
993 B
5
Indexable
#include <stdio.h> enum State { q0q2, q1q2, q1q3 }; enum State transition(enum State current, char input) { switch (current) { case q0q2: if (input == '0') return q1q2; if (input == '1') return q1q3; break; case q1q2: if (input == '0') return q0q2; if (input == '1') return q1q3; break; case q1q3: if (input == '0') return q1q2; if (input == '1') return q0q2; break; } return q0q2; } int main() { enum State current = q0q2; char input[100]; printf("Enter a string (0's and 1's): "); scanf("%s", input); for (int i = 0; input[i] != '\0'; ++i) { current = transition(current, input[i]); } if (current == q0q2 || current == q1q2 || current == q1q3) { printf("Accepted!\n"); } else { printf("Rejected!\n"); } return 0; }
Editor is loading...
Leave a Comment