Răspuns :
Salut. Poti sa rezolvi problema in mai multe variante. Am sa iti las rezolvarea cerintei tale (Varianta I), apoi iti scriu o metoda mai scurta (Varianta II). Succes!
Varianta I
[se declara global cele doua variabile (ogl, p)]
int ogl = 0, p = 1;
int func(int n)
{
if(n == 0)
return ogl;
else
{
if((n % 10) % 2 == 0)
{
ogl = ogl + (n %1 0 + 1) * p;
p *= 10;
return func(n / 10);
}
else
{
ogl = ogl + (n%10 - 1) * p;
p *= 10;
return func(n / 10);
}
}}
in functia main() se va apela in felul urmator:
func(<nume_variabila>);
cout<<ogl;
Varianta II
In aceasta varianta ai variabilele (ogl, p) ca argumente ale functiei.
int func(int n, int ogl, int p)
{
if(n == 0)
return ogl;
else
{
if((n % 10) % 2 == 0)
return func(n/10, ogl + (n%10 + 1) * p, 10 * p);
else
return func(n/10, ogl + (n%10 - 1) * p, 10 * p);
}
}
In functia main() se va apela in felul urmator:
cout << func(<nume_variabila>, 0, 1);
Acum depinde de tine care din ele iti este mai usor de inteles. Bafta!
Varianta I
[se declara global cele doua variabile (ogl, p)]
int ogl = 0, p = 1;
int func(int n)
{
if(n == 0)
return ogl;
else
{
if((n % 10) % 2 == 0)
{
ogl = ogl + (n %1 0 + 1) * p;
p *= 10;
return func(n / 10);
}
else
{
ogl = ogl + (n%10 - 1) * p;
p *= 10;
return func(n / 10);
}
}}
in functia main() se va apela in felul urmator:
func(<nume_variabila>);
cout<<ogl;
Varianta II
In aceasta varianta ai variabilele (ogl, p) ca argumente ale functiei.
int func(int n, int ogl, int p)
{
if(n == 0)
return ogl;
else
{
if((n % 10) % 2 == 0)
return func(n/10, ogl + (n%10 + 1) * p, 10 * p);
else
return func(n/10, ogl + (n%10 - 1) * p, 10 * p);
}
}
In functia main() se va apela in felul urmator:
cout << func(<nume_variabila>, 0, 1);
Acum depinde de tine care din ele iti este mai usor de inteles. Bafta!
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți alte întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați în lista de favorite!