Thiago de Paula Beserra Postado Maio 26, 2009 Denunciar Share Postado Maio 26, 2009 Ola pessoal...Estou quebrando a cabeca aqui pra fazer esse algoritmo. Queria saber se esta faltando algo ai no algoritmo, se tem bug, e como mostrar o resultado na tela.Peço a ajuda do pessoal ai. Desde já agradeço!Grato!!!/* programa notação polonesa */ #include <stdio.h> #include <conio.h> #include <string.h> #define MAX 100 struct no { char info[MAX]; int topo; }; typedef struct no pilha; pilha P; void inicializa() { P.topo = -1; } int vazia() { return P.topo == -1; } int cheia() { return P.topo == MAX - 1; } void push(char x) { P.topo++; P.info[P.topo] = x; } char pop() { int aux = P.info[P.topo]; P.topo--; return aux; } int converte(char x) { switch(x) { case '0': return 0; break; case '2': return 2; break; case '3': return 3; break; case '4': return 4; break; case '5': return 5; break; case '6': return 6; break; case '7': return 7; break; case '8': return 8; break; case '9': return 9; break; } } int operacao(char op, int x1, int x2) { switch(op) { case '+': return x1 + x2; break; case '-': return x1 - x2; break; case '*': return x1 * x2; break; case '/': return x1 / x2; break; } } //Inicio do programa int main() { int n, x1, x2, r; printf("Expressao: "); gets(P.info); n = strlen(P.info); for (int i = 0; i < n - 1; i++) { if (P.info[i] == '0' || P.info[i] == '1' || P.info[i] == '2' || P.info[i] == '3' || P.info[i] == '4' || P.info[i] == '5' || P.info[i] == '6' || P.info[i] == '7' || P.info[i] == '8' || P.info[i] == '9') push(converte(P.info[i])); else { x1 = pop(); x2 = pop(); r = operacao(P.info[i], x1, x2); push(r); } } getch(); } //Fim do programa Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Thiago de Paula Beserra
Ola pessoal...
Estou quebrando a cabeca aqui pra fazer esse algoritmo.
Queria saber se esta faltando algo ai no algoritmo, se tem bug, e como mostrar o resultado na tela.
Peço a ajuda do pessoal ai. Desde já agradeço!
Grato!!!
Link para o comentário
Compartilhar em outros sites
0 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.