gonzalob

Untitled

Apr 16th, 2020
389
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.04 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "../pila.h"
  4.  
  5. /*10. Hacer una función que reciba una pila con números de un solo dígito (es responsabilidad de
  6. quien usa el programa) y que transforme esos dígitos en un número decimal. Por ejemplo, la
  7. pila:
  8.  
  9. 1     Debe retornar el número: 14675
  10. 4
  11. 6
  12. 7
  13. 5   */
  14.  
  15. int funcionLoca (Pila dada)
  16. {
  17.     Pila aux, aux2;
  18.     inicpila(&aux);
  19.     inicpila(&aux2);
  20.  
  21.     int decimal = 0;
  22.     int multiplicador = 1;
  23.  
  24.     while (!pilavacia(&dada))
  25.     {
  26.         apilar(&aux, desapilar(&dada));
  27.     }
  28.  
  29.     while (!pilavacia(&aux))
  30.     {
  31.  
  32.         decimal = decimal + (tope(&aux)* multiplicador);
  33.         apilar(&aux2, desapilar(&aux));
  34.         multiplicador = multiplicador * 10;
  35.     }
  36.  
  37.     return decimal;
  38.  
  39. }
  40.  
  41. int main()
  42. {
  43.     Pila pilita;
  44.     inicpila(&pilita);
  45.     leer(&pilita);
  46.     leer(&pilita);
  47.     leer(&pilita);
  48.     leer(&pilita);
  49.     leer(&pilita);
  50.  
  51.     mostrar(&pilita);
  52.  
  53.     int aux = funcionLoca(pilita);
  54.  
  55.     printf("Numero decimal %d\n", aux);
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment