pessoal, to precisando de uma ajuda , to fazendo um programa que utiliza pilhas, tenho que cria a função pra empilha,desempilha,verificar se a pilha esta vazia e verificar se o numero de parenteses da string estão balanceados, se puderem me ajudar eu agradeço, desde já muito obrigado
Pergunta
newnoob
pessoal, to precisando de uma ajuda , to fazendo um programa que utiliza pilhas, tenho que cria a função pra empilha,desempilha,verificar se a pilha esta vazia e verificar se o numero de parenteses da string estão balanceados, se puderem me ajudar eu agradeço, desde já muito obrigado
valeu
#include <stdio.h> #include <stdlib.h> #define TAM 100 typedef struct { int topo; char dado[TAM]; }pilha_t; char pop(pilha_t *pilha){ if(*pilha.topo == -1){ printf("pilha vazia"); return; }else{ pilha.topo--; return pilha.dado[pilha.topo + 1]; } } void push( pilha_t *pilha, char novo_elemento){ if (*pilha.topo < TAM){ pilha.topo++; pilha.dado[ilha.topo] = novo_elemento; }else{ printf("pilha cheia"); } return; } boolean empty(pilha_t *pilha){ if(*pilha.topo == -1){ return true; }else{ return false; } } boolean balanced_parentheses(char *string){ pilha_t pilha; int i; int cont = 0; while (*string != ''){ for(i = 0; i < TAM; i++){ if(s[i] == '('){ cont ++; }elseif(s[i] == ')'){ cont--; } if (cont < 0){ return false; } }//for if(cont != 0){ return false; }else{ return true; } }//while } int main(){ char *s; printf("Digite a expressao.\n"); scanf("%s", &*s); if(balanced_parentheses(*s)){ printf("Parenteses corretos"); }else{ printf("parenteses errados"); } return 0; }Editado por kuroiAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.