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

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ăspunsuri la întrebare

Răspuns de Apollyon
0

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.

Alte întrebări interesante