Advertisement
eduardovp97

Ex2 Tad

Oct 24th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.86 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "pila.h"
  4.  
  5. void estaBalanceado(TStack *stack);
  6.  
  7. int main(){
  8.  
  9.     TStack stack;
  10.     char letra;
  11.     initStack(&stack);
  12.     while(scanf("%c",&letra)!= EOF){
  13.         push(&stack,letra);
  14.         printf("%c",letra);
  15.     }
  16.     estaBalanceado(&stack);
  17.  
  18.     return 0;
  19. }
  20.  
  21. void estaBalanceado(TStack *stack){
  22.     TNode *elem = stack->top;
  23.     char letra;
  24.     int count1=0, count2=0, ok = 1;
  25.     //printf("Hola\n");
  26.     while(elem != NULL){
  27.         letra = elem -> value;
  28.         if(letra == ')')
  29.             count1++;
  30.         if(letra == '(')
  31.             if(count1 == 0){
  32.                 ok = 0;
  33.             }else{
  34.                 count1--;
  35.             }
  36.         if(letra == ']')
  37.             count2++;
  38.         if(letra == '[')
  39.             if(count2 == 0){
  40.                 ok = 0;
  41.             }else{
  42.                 count2--;
  43.             }
  44.         pop(stack);
  45.         elem = stack -> top;
  46.     }
  47.     if(count1==0 && count2==0 && ok)
  48.         printf(" --> ES CORRECTA\n");
  49.     else
  50.         printf(" --> NO ES CORRECTA\n");
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement