Ajuda em algoritmo C++

7 respostas
H

Boa noite,

Estou tendo que criar um aplicativo em C++ complete os parêntesis e chaves do programa.
Assim, ele verá que faltará ) ou } e completará automaticamente após ser chamado.

Gostaria de saber qual estrutura posso usar pra isso:
pilha? lista simples? lista dupla? fila?

Obrigado.

7 Respostas

ViniGodoy

Responda:

  1. O primeiro parênteses que você abre é o primeiro que você fecha? Se sim, lista. Se for o último, pilha.
  2. Você sabe de antemão o número de parênteses a serem abertos? Se sim, sequencial, se não, encadeada.
H

ViniGodoy:
Responda:

  1. O primeiro parênteses que você abre é o primeiro que você fecha? Se sim, lista. Se for o último, pilha.
  2. Você sabe de antemão o número de parênteses a serem abertos? Se sim, sequencial, se não, encadeada.

No caso, o ultimo parentese será o primeiro a ser fechado, lendo o programa de baixo pra cima.
então é uma pilha pra parentese e outra pra chaves? ou uma pra ambos?

obg.

ViniGodoy

Se você pode fechar parênteses e chaves independente da ordem que a abriu: use várias estruturas de dados.
Se você precisa fechar na ordem inversa exata que abriu, então, use uma única estrutura.

H

ViniGodoy:
Se você pode fechar parênteses e chaves independente da ordem que a abriu: use várias estruturas de dados.
Se você precisa fechar na ordem inversa exata que abriu, então, use uma única estrutura.

Então eu posso usar uma única pilha para preencher inversamente?
como ela funcionaria?

obg.

ViniGodoy

Funcionaria como uma pilha tem que funcionar… :wink:

gomesrod

Uma curiosidade: como o programa saberá o lugar onde precisa fechar?

ViniGodoy

Acho que o buraco para responder essa pergunta é BEEEM mais embaixo…

Criado 28 de novembro de 2012
Ultima resposta 29 de nov. de 2012
Respostas 7
Participantes 3