Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.31 KB | None | 0 0
  1. /* Iterativa*/
  2.  
  3. boolean contaCar(char* s, char a, int i)
  4. {
  5.     int res, int j = 0;
  6.     while (*s)
  7.     {
  8.         if (s[j] == 'a')
  9.         res++;
  10.         j++; //non metto le parentesi all'if perchè questa istruzione la si deve eseguire in ogni caso
  11.     }
  12.    
  13.     if (res == i)
  14.         return true;
  15.     else
  16.         return false;
  17. }
  18.  
  19.  
  20. /* Ricorsiva con tail*/
  21.  
  22. boolean contaCar_TR(char* s, char a, int i, int res, int j)
  23. {
  24.     if (!*s && res == i) //se la stringa è terminata ed il contatore è pari al valore indicato allora torna true
  25.         return true;
  26.     else
  27.     {
  28.         if (!*s && res != i) //se la stringa è terminata ma il contatore non è pari al valore indicato allora torna false
  29.             return false;
  30.     }
  31.     else //questo è il caso in cui la stringa non è terminata e quindi fai la chiamata ricorsiva
  32.     {
  33.         if (s[j] == 'a')
  34.             return contaCar_TR(s+1, a, i, res+1, j+1);
  35.         else
  36.             return contaCar_TR(s+1,a, i, res,j+1);
  37.     }  
  38.  
  39. }
  40.  
  41. /* Ricorsiva senza tail*/
  42.  
  43. boolean contaCarRic(char* s, char a, int i, int res, int j)
  44. {
  45.     if (!*s && res == i)
  46.         return true 66 contaCarHelper();
  47.     else
  48.     {
  49.         if (!*s && res != i)
  50.             return false && contaCarHelper;
  51.     }
  52.     else
  53.     {
  54.         if (s[j] == 'a')
  55.             return contaCarRic(s+1, a, i, res+1, j+1);
  56.         else
  57.             return contaCarRic(s+1,a, i, res,j+1);
  58.     }  
  59.  
  60. }
  61.  
  62. /* Funzione helper*/
  63.  
  64. boolean contaCarHelper()
  65. {
  66.     return true;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement