aqui os dejo el codigo que tengo hasta ahora.
Código:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define MAX 100
#define TAM 20
struct PILA{
int cont;
int array[MAX];
};
void iniciar_pila(struct PILA *);
void apilar(struct PILA *,int numero);
int pila_llena(struct PILA *);
int pila_vacia(struct PILA *);
void mostrar(struct PILA *);
void main ()
{
int i,numero[50];
char texto[50];
struct PILA digito;
iniciar_pila(&digito);
printf("Introduce el texto: ");
gets(texto);
for(i=0;i<strlen(texto);i++)
{
numero[i]=texto[i];
if(48<texto[i] && 57>texto[i])
{
apilar(&digito,numero[i]);
}
}
mostrar(&digito);
getch();
system("pause");
}
void iniciar_pila(struct PILA *nuevo)
{
int i;
nuevo->cont=0;
for(i=0;i<MAX;i++)
{
nuevo->array[i]=0;
}
}
void apilar(struct PILA *digito, int numero)
{
if(!pila_llena(digito))
{
digito->array[digito->cont]=numero;
digito->cont++;
}
else
printf("La pila esta llena");
}
int pila_vacia(struct PILA *digito)
{
if(digito->cont==0) //Si la pila esta vacia retorna un 1
return 1;
else
return 0;
}
int pila_llena(struct PILA *digito)
{
if(digito->cont==MAX) //Si la pila esta llena retorna un 1
return 1;
else
return 0;
}
void mostrar(struct PILA *digito)
{
int j=1;
printf("Mostrando numeros insertados en la pila\n");
printf("_________________________________________\n");
for (int i=digito->cont-1; i>=0; i--)
{
printf("digito %d: ",j);
printf("%d\n\n",digito->array[i]);
j++;
}
}


