Advertisement
gmmmarcos

Practico 3 - Funciones - ejercicio 4

Apr 15th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "pila.h"
  4.  
  5. int main()
  6. {
  7.  
  8. Pila DADA;
  9. inicpila(&DADA);
  10.  
  11. CargarPila (&DADA);
  12. BuscarMenor (&DADA);
  13.  
  14. return 0;
  15. }
  16.  
  17. void CargarPila (Pila* a)
  18. {
  19.  
  20. char OP='s';
  21. while (OP=='s')
  22. {
  23. // para ponerle nombre a la pila en el printf necesito strings //
  24. printf("INGRESE UN VALOR A LA PILA\n");
  25. leer (a);
  26. printf("\n DESEA INGRESAR OTRO? s/n\n");
  27. fflush(stdin);
  28. scanf("%c",&OP);
  29. }
  30. }
  31.  
  32. void PasarElementosIgual (Pila* a, Pila* b)
  33. {
  34. Pila TEMP;
  35. inicpila (&TEMP);
  36.  
  37. while (!pilavacia(a))
  38. {
  39. apilar (&TEMP, desapilar (a));
  40. }
  41.  
  42. while (!pilavacia(&TEMP))
  43. {
  44. apilar (b, desapilar (&TEMP));
  45. }
  46. }
  47.  
  48. void PasarElementos (Pila* a, Pila* b)
  49. {
  50. while (!pilavacia(a))
  51. {
  52. apilar (b, desapilar (a));
  53. }
  54. }
  55.  
  56. void BuscarMenor (Pila* a)
  57. {
  58. Pila MENOR, AUXDADA;
  59. inicpila(&MENOR);
  60. inicpila(&AUXDADA);
  61.  
  62. apilar (&MENOR, desapilar (a));
  63.  
  64. while (!pilavacia(a))
  65. {
  66. if (tope(a)< tope(&MENOR))
  67. {
  68. apilar (&AUXDADA, desapilar (&MENOR));
  69. apilar (&MENOR, desapilar(a));
  70. }
  71. else
  72. {
  73. apilar (&AUXDADA, desapilar (a));
  74. }
  75. }
  76.  
  77. while (!pilavacia(&AUXDADA))
  78. {
  79. apilar (a, desapilar (&AUXDADA));
  80. }
  81.  
  82. printf("\n EL MENOR ES: \n");
  83. mostrar (&MENOR);
  84.  
  85. }
  86.  
  87. /* 4. Hacer una función que encuentre el menor elemento de una pila y lo retorne. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement