ana10 Postado Outubro 18, 2016 Denunciar Share Postado Outubro 18, 2016 (editado) Boa dia! Eu queria trocar uma pilha de números por uma pilha de strings pra poder depois gerar uma pilha invertida inserindo no código os valor original, alguém poderia ajudar? segue a parte do meu código com inteiros Editado Outubro 21, 2016 por ana10 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Outubro 18, 2016 Denunciar Share Postado Outubro 18, 2016 Bom dia ana, basta trocar o int pelo char, e assim consiguirar o efeito desejado. troque isso void inserir(NODE *pilha, int num); por isso: void inserir(NODE *pilha, char num); troque isso void inserir(NODE *pilha, int num) por isso void inserir(NODE *pilha, char num) e para inserir ficaria algo tipo inserir(p, 'a'); inserir(p, 'n'); inserir(p, 'a'); até mais Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ana10 Postado Outubro 18, 2016 Autor Denunciar Share Postado Outubro 18, 2016 (editado) Em 18/10/2016 at 16:53, rickayron disse: Bom dia ana, basta trocar o int pelo char, e assim consiguirar o efeito desejado. troque isso void inserir(NODE *pilha, int num); por isso: void inserir(NODE *pilha, char num); troque isso void inserir(NODE *pilha, int num) por isso void inserir(NODE *pilha, char num) e para inserir ficaria algo tipo até mais Obrigado! testei assim porem continuou imprimindo números! por exemplo coloquei as letra a,n a imprime 97 110 e 97, o que poderia ser? Editado Outubro 21, 2016 por ana10 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Outubro 19, 2016 Denunciar Share Postado Outubro 19, 2016 Bom dia ana, nesse caso eu preciso ver o código da função imprimir, pois ele não está no seu post. Mas imagino que seja algo do tipo: void imprimir(NODE *pilha){ NODE *p=pilha; while(p->prox !=NULL){ printf("%c ", (*p).num); p=(*p).prox; if(p==NULL){ break; } } } Observe a linha onde está o printf; printf("%c ", (*p).num); Nesse caso o %c indica que será impresso um caracter, mas no seu caso penso eu que deve ter um %d que seria para imprimir um inteiro. Caso essa intuição esteja correta, troque o %d por %c. E se precisar de mais algum ajuste post todo o código modificado para sabermos o que está acontecendo. até mais. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ana10 Postado Outubro 19, 2016 Autor Denunciar Share Postado Outubro 19, 2016 Muito obrigado, agora sim deu certo tinha esquecido do %c. valeu mesmo! Resolvido! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ana10
Boa dia!
Eu queria trocar uma pilha de números por uma pilha de strings pra poder depois gerar uma pilha invertida inserindo no código os valor original, alguém poderia ajudar?
segue a parte do meu código com inteiros
Link para o comentário
Compartilhar em outros sites
4 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.