Scrieţi un subprogram recursiv cu un singur parametru n,număr natural cu cel mult 9 cifre, care să afişeze pe ecran numai cifrele impareale lui n, în ordinea în care ele apar în număr, ca în exemplul de mai jos. Dacănumărul are numai cifre pare, nu se va afişa nimic. De exemplu pentru n=29385567 se va afişa 93557.

C++ EXLICATII.


Răspuns :

Răspuns:

#include <iostream>

static void afisareCifreImpare(int n)

{

   if (n == 0)

       return;

   afisareCifreImpare(n / 10);

   if ((n % 10) % 2 != 0)

       std::cout << n % 10;

}

int main()

{

   int n{};

   std::cout << "Introdu n (de ex 29385567 ) >> ";

   std::cin >> n;

   afisareCifreImpare(n);

   return 0;

}

Explicație:

Tot apelezi afisareCifreImpare până când ajungi la condiția de terminare ( când n-ul tău o să fie egal cu 0). Atunci returnează și fiecare funcție o să afișeze cifra impară pornind de la începutul numărului spre final.