Ajuda em algoritmo C++

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.

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.

[quote=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.[/quote]

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.

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.

[quote=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.[/quote]

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

obg.

Funcionaria como uma pilha tem que funcionar… :wink:

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

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