Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <vector>
- #include <iostream>
- using namespace std;
- int main() {
- vector<char> states;
- for(char i = 'A'; i<= 'E'; i++){
- states.push_back(i);
- }
- // for(int i=0; i<states.size(); i++){
- // cout << states[i] << " ";
- // }
- string input;
- cin>>input;
- int idx = 0;
- cout << "Starting state : "<<states[idx]<<endl;
- for(int i=0; i<input.size(); i++){
- if(input[i] == '0'){
- switch(idx){
- case 0: idx = 1; break;
- case 1: idx = 4; break;
- case 2: idx = 0; break;
- case 3: idx = 2; break;
- case 4: idx = 4; break;
- }
- }
- if(input[i] == '1'){
- switch(idx){
- case 0: idx = 0; break;
- case 1: idx = 0; break;
- case 2: idx = 4; break;
- case 3: idx = 3; break;
- case 4: idx = 3; break;
- }
- }
- if(input[i] == '2'){
- switch(idx){
- case 0: idx = 1; break;
- case 1: idx = 2; break;
- case 2: idx = 3; break;
- case 3: idx = 4; break;
- case 4: idx = 0; break;
- }
- }
- cout << "Input alphabet : "<< input[i] <<endl;
- cout << "Current State : " << states[idx] << endl;
- if(idx == 4){
- cout << "State is accepted\n";
- }else{
- cout << "State is not accepted\n";
- }
- cout << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement