Par Matching

download Par Matching

If you can't read please download the document

description

vcvcvcv

Transcript of Par Matching

Parenthesis Matching#includeint top=-1;int size;char stack[20];int isfull(){ if(top==size-1) return 1; return 0;}int isempty(){ if(top==-1) return 1; return 0;}void push(char ch){ if(isfull()) puts("Stk is full"); else { top++; stack[top]=ch; }}char pop(){ char ch=NULL; if(isempty()) puts("Stk isEmpty"); else { ch=stack[top]; top--; } return ch;}main(){ char exp[20],ch; int i,x,y,z; printf("Enter size of Stack:"); scanf("%d",&size); put("Enterany Expression:"); scanf("%s",exp);for(i=0;exp[i]!='\0';i++) { if(exp[i]=='('||exp[i]=='['||exp[i]=='{') push(exp[i]); else if(exp[i]==')'||exp[i]==']'||exp[i]=='}') { ch=pop(); if(ch=='\0'||(exp[i]==')'&&ch!='(')||(exp[i]==']'&&ch!='[')||(exp[i]=='}'&&ch!='{')) { puts("Mismatch"); exit(0); } } } if(isempty()) puts("Matched"); else puts("Mismatched");}