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

#3119 Impare_Bac
Subprogramul Impare are un singur parametru, n, prin care primește un număr natural. Subprogramul înlocuiește fiecare cifră impară a lui n cu cea mai mare cifră pară strict mai mică decât ea (astfel cifra 1 se înlocuieşte cu cifra 0, cifra 3 cu cifra 2 etc.) și furnizează numărul obținut tot prin parametrul n.

Scrieți definiția completă a subprogramului.

Restricții și precizări
1 ≤ n ≤ 1.000.000.000
Numele funcției va fi Impare
Funcția va primi un singur parametru, numărul n, iar la finalul funcției n va avea valoarea cerută.

Exemplu
Dacă n=235690, atunci, după apel, n=224680, iar dacă n=15690, atunci, după apel, n=4680.

Răspunsuri la întrebare

Răspuns de lucaciucandrei
18

void Impare(int & n) {

   int cn, p = 1;

   cn = n;

   while (cn > 0) {

       if (cn % 10 % 2 != 0)

           n -= p;

       p *= 10;

       cn /= 10;

   }

}


Farben: Mulțumesc mult!
lucaciucandrei: cu drag Farben
czeinep23: multumesc
czeinep23: farben mai putea ajuta la ultimul ex te rog
Alte întrebări interesante