File: Stare vježbe/vjezbe07/42__rekurzija.c

  1. /*
  2.   42__rekurzija.c
  3.   Rekurzivno pozivanje funkcije.
  4.   -----
  5.   Program u obrnutom poredku ispisuje znamenke ucitanog broja.
  6.   Dane su dvije verzije funkcije koja to radi -- rekurzivna i nerekurzivna.
  7. */
  8.  
  9. #include <stdio.h>
  10.  
  11. void pisi_naopako ( int broj )
  12. {
  13. while (broj > 0)
  14. {
  15. printf ("%d", broj % 10);
  16. broj /= 10;
  17. }
  18. }
  19.  
  20.  
  21. void rekurzivno_pisi_naopako ( int broj )
  22. {
  23. printf ("%d", broj % 10);
  24. broj/=10;
  25.  
  26. if (broj>0)
  27. rekurzivno_pisi_naopako (broj);
  28. else
  29. printf ("\n");
  30. }
  31.  
  32.  
  33. int main ()
  34. {
  35. int broj;
  36.  
  37. printf ("Unesite cijeli broj: ");
  38. scanf ("%d", &broj);
  39.  
  40. printf ("Nerekurzivno ispisivanje znamenaka u obrnutom poretku: \n");
  41. pisi_naopako (broj);
  42.  
  43. printf ("\nRekurzivno ispisivanje znamenaka u obrnutom poretku: \n");
  44. rekurzivno_pisi_naopako (broj);
  45.  
  46. return 0;
  47. }
  48.