Então, eu fiz o EP baseado na hipótese que todo os arquivos de entrada seguem o exemplo, ou seja, após todo número, mesmo que o próximo termo seja um símbolo (+,-,/,...), existe um espaço entre eles.
Exemplo:
Com espaço: 2 3 +
Sem espaço: 2 3+
Eu posso fazer uma versão para cobrir esse caso, mas causaria loopings adicionais.
É só para confirmação mesmo, porque parece meio obvio que após todo número existe pelo menos um espaço entre ele e um símbolo.
Oi Vitor,
Eu fiz o EP baseado na hipótese que todo os arquivos de entrada seguem o exemplo, ou seja, após todo número, mesmo que o próximo termo seja um símbolo (+,-,/,...), existe um espaço entre eles.
Não, você não pode supor isto.
Espaços (um ou mais) antes ou depois de operadores não deve tornar o programa mais complicado ou mais simples.
Veja como isto é tratado pela função infixaParaPosfixa.
Veja também que para o executável fornecido não é necessário haver espaços antes ou depois de um operador.
Mais complicado não fica, mas eu fiz me baseando nisso para tornar ele "um pouco" mais rápido, mas é pouca coisa. Mudando algumas linahs ja arrumo isso, não é muita diferença.
E eu fui ver, realmente o executável ja respondia minha dúvida, devia te-lo visto antes de postar aqui
Obrigado professor.