Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "pila.h"
- void estaBalanceado(TStack *stack);
- int main(){
- TStack stack;
- char letra;
- initStack(&stack);
- while(scanf("%c",&letra)!= EOF){
- push(&stack,letra);
- printf("%c",letra);
- }
- estaBalanceado(&stack);
- return 0;
- }
- void estaBalanceado(TStack *stack){
- TNode *elem = stack->top;
- char letra;
- int count1=0, count2=0, ok = 1;
- //printf("Hola\n");
- while(elem != NULL){
- letra = elem -> value;
- if(letra == ')')
- count1++;
- if(letra == '(')
- if(count1 == 0){
- ok = 0;
- }else{
- count1--;
- }
- if(letra == ']')
- count2++;
- if(letra == '[')
- if(count2 == 0){
- ok = 0;
- }else{
- count2--;
- }
- pop(stack);
- elem = stack -> top;
- }
- if(count1==0 && count2==0 && ok)
- printf(" --> ES CORRECTA\n");
- else
- printf(" --> NO ES CORRECTA\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement