Sunteți pe pagina 1din 2

1.

Scrieți funcția recursivă având următorul antet:


view source
print?

1.int SC(char s[])


Funcția primește ca parametru un șir de caractere și returnează suma tuturor cifrelor
care apar în șir.

int SC(char s[])

if(s[0]!=0)

if(s[0]>='0'&&s[0]<='9' )

return s[0]-'0'+SC(s+1);

else

return SC(s+1);

else

return 0;

2. Să se scrie o funcție C++ recursivă care returnează factorialul unui număr dat ca parametru.

int factorial(int n)

if(n>0)

return n*factorial(n-1);

else

return 1;

3. Să se scrie o funcție C++ recursivă care determină factorialul unui număr transmis ca
parametru și întoarce rezultatul prin intermediul unui parametru de ieșire.

void factorial(int n, int &f)

if(n==0)

f=1;

else
{

int fact=1;

factorial(n-1,fact);

f=n*fact;

4. Să se scrie o funcție C++ recursivă care returnează cel mai mare divizor comun a două
numere transmise ca parametri.

int cmmdc(int a,int b)

if(a==b)

return a;

else

if(a>b)

return cmmdc(a-b,b);

else

return cmmdc(a,b-a);

S-ar putea să vă placă și