#include #include #include "stack.h" /* David Alvarez López sly.dekar@gmail.com 21-Oct-2005 Implementación de un verificador de paréntesis (matcher) utilizando pilas. El programa recibe un paréntesis por línea - (),{} ó [] -, e indica si cierra un paréntesis anterior, si no tiene pareja (termina el programa), o si puede seguir aceptando paréntesis. */ int main(int argc, char *argv[]) { stack pila; bool matching = true; int n = 0, chn = 0; char ch; while (matching) { n++; cout<>ch; switch(ch) { case '(': chn = 10; break; case ')': chn = 11; break; case '{': chn = 20; break; case '}': chn = 22; break; case '[': chn = 30; break; case ']': chn = 33; break; default: cout<<"ERROR in INPUT"; exit(1); } if (chn%10 == 0) { pila.push(chn + n*100); } else { if (chn/11 * 10 == pila.top()%100) { cout<<"matches "<<(pila.top()/100)<