Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "pila.h"
- int main()
- {
- Pila DADA, PATATA;
- inicpila(&DADA);
- inicpila (&PATATA);
- CargarPila (&DADA);
- OrdenarPila (&DADA, &PATATA);
- printf("\n\t PILA PATATA\n");
- mostrar (&PATATA);
- return 0;
- }
- void CargarPila (Pila* a)
- {
- char OP='s';
- while (OP=='s')
- {
- // para ponerle nombre a la pila en el printf necesito strings //
- printf("INGRESE UN VALOR A LA PILA\n");
- leer (a);
- printf("\n DESEA INGRESAR OTRO? s/n\n");
- fflush(stdin);
- scanf("%c",&OP);
- }
- }
- void PasarElementosIgual (Pila* a, Pila* b)
- {
- Pila TEMP;
- inicpila (&TEMP);
- while (!pilavacia(a))
- {
- apilar (&TEMP, desapilar (a));
- }
- while (!pilavacia(&TEMP))
- {
- apilar (b, desapilar (&TEMP));
- }
- }
- void PasarElementos (Pila* a, Pila* b)
- {
- while (!pilavacia(a))
- {
- apilar (b, desapilar (a));
- }
- }
- void BuscarMenor (Pila* DADA)
- {
- Pila MENOR, AUXDADA;
- inicpila(&MENOR);
- inicpila(&AUXDADA);
- apilar (&MENOR, desapilar (DADA));
- while (!pilavacia(DADA))
- {
- if (tope(DADA)< tope(&MENOR))
- {
- apilar (&AUXDADA, desapilar (&MENOR));
- apilar (&MENOR, desapilar(DADA));
- }
- else
- {
- apilar (&AUXDADA, desapilar (DADA));
- }
- }
- while (!pilavacia(&AUXDADA))
- {
- apilar (DADA, desapilar (&AUXDADA));
- }
- printf("\n EL MENOR ES: \n");
- mostrar (&MENOR);
- }
- void OrdenarPila (Pila *DADA, Pila *MENOR)
- {
- Pila AUXDADA;
- inicpila (&AUXDADA);
- do {
- apilar (MENOR, desapilar (DADA));
- while (!pilavacia(DADA))
- {
- if (tope(DADA)< tope(MENOR))
- {
- apilar (&AUXDADA, desapilar (MENOR));
- apilar (MENOR, desapilar(DADA));
- }
- else
- {
- apilar (&AUXDADA, desapilar (DADA));
- }
- }
- while (!pilavacia(&AUXDADA))
- {
- apilar (DADA, desapilar (&AUXDADA));
- }
- }while (!pilavacia(DADA));
- }
- /* 5. Hacer una función que pase los elementos de una pila a otra,
- de manera que se genere una nueva pila ordenada. Usar la función del ejercicio 4. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement