Informatică, întrebare adresată de hanna04, 8 ani în urmă

Scrieți funcția recursivă IncDecRec care primind ca parametru un număr natural n, returnează numărul obținut din n prin scăderea cu 1 a fiecărei cifre impare și creșterea cu 1 a fiecărei cifre pare.​

Răspunsuri la întrebare

Răspuns de Madalin77
4

Răspuns:

#include<iostream>

using namespace std;

int IncDecRec(int n)

{

   if(n<10)

   {

       if(n%2==0)

       {

           return n+1;

       }

       else

       {

           return n-1;

       }

   }

   else

   {

       if(n%2!=0)

           return IncDecRec(n/10)*10+n%10-1;

       else

           return IncDecRec(n/10)*10+n%10+1;

   }

}

int main()

{

   int n;

   cin>>n;

   cout<<IncDecRec(n);

   return 0;

}

Explicație:


sikesjack1: Salut, Imi poti explica cum se construieste numarul aici? return IncDecRec(n/10)*10+n%10-1; acuma invat recursivitate si nu prea inteleg logica..
Alte întrebări interesante