Olá amigos. Estou tentando criar uma pilha dinâmica, mas, tudo parece estar certo só que não consigo mais identicar o que está dando errado. Se alguém puder dar uma ajuda.
O código...
/*1) Implementar as funções init, push, pop, stacktop e empty .
2) Crie uma função (showStack) que exiba todos os elementos de uma pilha.
3) Crie um programa que receba via teclado um conjunto de dez números que serão
colocados em uma pilha. Usando a função (showStack) exiba a pilha. Em seguida
desempilhe os números, informando cada número desempilhado. Usando a função
(showStack) exiba a pilha novamente.
*/
#include<stdio.h>
#define tamanho_pilha 100
struct elemento_pilha
{
int info;
struct elemento_pilha *prox;
};
typedef struct
{
struct elemento_pilha *top;
}pilha;
void init(pilha *p)
{
p->top=NULL;
printf("Pilha inicializada!");
getch();
}
int empty(pilha *p)
{
if(p->top==NULL)
return 1;
else
return 0;
}
void push(pilha *p,int elemento)
{
struct elemento_pilha *pl;
pl=(struct elemento_pilha *) malloc (sizeof(struct elemento_pilha));
pl->info=elemento;
pl->prox=p->top;
p->top=pl;
}
int pop(pilha *p)
{
int valortop;
struct elemento_pilha *aux;
if(empty(p)==1)
{
printf("\n stack underflow! \n");
exit(1);
}
else
{
valortop=p->top->info;
aux=p->top;
p->top=p->top->prox;
free(aux);
return valortop;
}
}
int stacktop(pilha *p)
{
if(empty(p))
{
printf("\n underflow! \n");
exit(1);
}
else
{
return p->top->info;
}
}
void showstack (pilha *p)
{
int i=0;
pilha aux;
if (empty(p)==1)
printf ("A Pilha esta vazia!");
else
{
for (aux.top=p->top; empty(&aux)!= 1; aux.top=aux.top->prox)
{
i++;
printf("\n\n %d Elemento da Pilha = %d",i,aux.top->info);
}
}
}
int main()
{
pilha pi;
int i,num;
init(π);
for(i=0;i<1;i++)
{
for(i=0;i<10;i++)
{
printf("Informe um valor:");
scanf("%d",&num);
push(π,num);
}
showstack(π);
for(i=0;i<10;i++)
{
top(π);
printf("\n E Sera eliminado da pilha...");
pop(π);
}
printf("\n ");
showstack(π);
}
system("pause");
}
Pergunta
R!ck
Olá amigos. Estou tentando criar uma pilha dinâmica, mas, tudo parece estar certo só que não consigo mais identicar o que está dando errado. Se alguém puder dar uma ajuda.
O código...
Está dando o erro...
[Linker error]undefined reference to 'top'
id returned 1 exit status
Bem, espero ansioso por ajuda.
Até logo. = ]
Link para o comentário
Compartilhar em outros sites
3 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.