Exemplo n.º 1
0
main()
{
	Pila dada,top,aux;
	int g=0;
	inicpila(&dada);
	inicpila(&top);
	inicpila(&aux);
	while (g<5)
	{
		leer(&dada);
		g++;
	}
	apilar(&top, desapilar(&dada));
	while (!pilavacia(&dada))
	{
		apilar(&aux, desapilar(&dada));
	}
	apilar(&dada, desapilar(&top));
	while (!pilavacia(&aux))
	{
		apilar(&dada, desapilar(&aux));
	}
	mostrar(&dada);
	getch();
	return(0);
}
Exemplo n.º 2
0
char* convertirDec(int num,int base)
{
    const char valNum[]={"0123456789ABCDEF"};
    char* cfinal,*aux;
    int contdigitos=0;
    t_info resparcial;
    t_pila pila;
    crearPila(&pila);
    if(num==0)
    {
        cfinal=(char*)malloc(sizeof(char));
        *cfinal='0';
        return cfinal;
    }
    while(num!=0)
    {
        resparcial.num=valNum[num%base];
        num=num/base;
        if(!apilar(&pila,&resparcial))
           return NULL;
        contdigitos++;
    }
    cfinal=(char*)malloc(sizeof(char)*(contdigitos+1)); //+1 por el \0
    if(!cfinal)
        return NULL;
    aux=cfinal;
    while(desapilar(&pila,&resparcial))
    {
        *aux=resparcial.num;
        aux++;
    }
    *aux='\0';
    return cfinal;
}
Exemplo n.º 3
0
int main(int argc, char** argv){
    
    Pila p1, p2;
    int i;
    
    p1=crear();//creamos las pilas
    p2=crear();
    
    if(esta_vacia(p1) == true)//comprobamos que estabn vacias
    printf("La pila p1 esta vacia\n");
    
    if(esta_vacia(p2) == true)
    printf("La pila p2 esta vacia\n");
    
    for(i=0;i<20;i++){ //metemos numeros en la pila
                      if(i%2==0)
                      apilar(p1,i);
                      else
                      apilar(p2,i);
    }

printf("Los elementos de la pila p1 son: \n\t");
while(!esta_vacia(p1)) //mientras no este vacia
printf("%d ", desapilar(p1));//vamos sacando los numeros y mostandolos

puts("");
vaciar(p1);//la vaciamos

printf("Los elementos de la pila p2 son: \n \t");

while(!esta_vacia(p2))
printf("%d ",desapilar(p2));


destruir(p1);//eliminamos la pila
destruir(p2);

getche();
return (EXIT_SUCCESS);
}
Exemplo n.º 4
0
/* programa principal                                            */
int main (void){
	/* Carga la pila hasta que se llene o ingrese un cero */
	printf("ingrese un número distinto a 0: ");
	scanf("%d",&dato);
	while(dato!=0 && !pilallena()){
		apilar();
		printf("ingrese un número distinto a 0: ");
		scanf("%d",&dato);
	}
	/* Muestra la pila, perdiendo todos los    */
	/* elementos que estaban cargados en ella  */
	printf("Datos cargados en la pila\n");
	while(!pilavacia())	{
		printf("%d\n", primeropila());
		desapilar();
			}
	printf("Fin de datos\n");
       return 0;
}
//***************MAIN***************//
void main()
{
    FILE* pf;
    t_dato dato;
    t_pila pila;
    int opc,cantReg,i;

    printf("\n**********MENU DE OPCIONES**********\n\
1- Crear pila\n\
2- Apilar\n\
3- Desapilar\n\
4- Pila vacia?\n\
5- Pila llena?\n\
6- Vaciar pila\n\
7- Ver tope de pila\n\
0- SALIR\n\n\
INGRESE EL NUMERO DE OPCION: ");
    scanf("%d",&opc);

    while(opc && opc!=0)
    {
        switch(opc)
        {
        case 1:
            crearPila(&pila);
            printf("\nSe ha creado la pila");
        break;

        case 2:
            while(pila.tope!=TAM)
            {
                cargarDato(&dato);
                if(apilar(&pila,&dato))
                    printf("\nSe apilo el dato ingresado");
            }
            printf("\nSE LLENO LA PILA");

        break;

        case 3:
            if(desapilar(&pila,&dato))
                {
                    printf("Se desapilo el dato ");
                    puts(dato.nom);
                }
            else
                printf("No se pudo desapilar el dato");

        break;

        case 4:
            if(pilaVacia(&pila))
                printf("La pila esta vacia");
            else
                printf("La pila NO esta vacia");
        break;

        case 5:
            if(pilaLlena(&pila))
                printf("La pila esta llena");
            else
                printf("Todavia hay lugar en la pila");
        break;

        case 6:
            vaciarPila(&pila);
            printf("Se vacio la pila");
        break;

        case 7:
            if(verTope(&pila,&dato))
            {
                printf("El tope de pila es ");
                puts(dato.nom);
            }
            else
                printf("La pila esta vacia");
        break;

        }
        printf("\n\n**********MENU DE OPCIONES**********\n\
1- Crear pila\n\
2- Apilar\n\
3- Desapilar\n\
4- Pila vacia?\n\
5- Pila llena?\n\
6- Vaciar pila\n\
7- Ver tope de pila\n\
0- SALIR\n\n\
INGRESE EL NUMERO DE OPCION: ");
        scanf("%d",&opc);
    }

}