finite automata - Can I use stack in Turing Machine? -


i trying design turing machine accepts language l = {w | anb2n} ∑ = {a, b}.

for example machine accepts input : "aabbbb" not accept "aabb"

my code below language ;

#include <iostream> #include <string> using namespace std;  char stack[30]; int top = -1;  void push(char ch){     stack[++top] = ch; }  char pop(){     return stack[top--]; }  int main(){     string str;     char flag = 0;     cout<<"enter input string: ";     cin>>str;      for(int i=0; i<str.length(); i++){               if(str[i] == 'a')             push(str[i]);          else if(str[i] == 'b'){             if(top<0 || i>=str.length()-1 || str[++i] != 'b'){                 flag = 1;                 break;             }             pop();                   }          else{             flag = 1;             break;         }     }      if(flag == 1 || top != -1)         cout<<"input unacceptable turing machine.\n";     else         cout<<"input acceptable turing machine.\n";     system("pause");     return 0; } 

the question : turing machine ? or can use stack in turing machine ?

thank you

you can use stack.

to begin with, suppose took turing machine, , added track. clearly, is possible use additional track stack.

however, multitrack turing machine equivalent turing machine, , there mechanical way transform former latter. stack-track can folded regular turing machine.


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -