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

Să se scrie un program care citește un șir de n numere naturale și afișează pe ecran elementele din șir care au mai multe cifre pare decât impare.
Cerința:

Să se scrie un program care citește un șir de n numere naturale și afișează pe ecran elementele din șir care au mai multe cifre pare decât impare respectiv 0 dacă nu există nici un astfel de număr.

Numerele vor fi despărțite printr-un spațiu.

Date de intrare:

Programul citește de la tastatură numărul n, iar apoi n numere naturale nenule.

Date de ieşire:

Programul scrie pe ecran elementele din șir care au mai multe cifre pare decât impare respectiv 0 dacă nu există nici un astfel de număr.

Restricţii şi precizări:

1 ≤ n ≤ 1000

cele n numere citite vor fi mai mici decât 2.000.000.000

Exemplu:

Intrare

5
72 75 142 75 32
Ieșire

142​

Răspunsuri la întrebare

Răspuns de WereChris
1

Codul e in c++, si e mai lung decat ma asteptam sa iasa=)) daca ai intrebari/nelamuriri, lasa-le aici si o sa incerc sa revin=)

Spor

#include <iostream>

int checkParImpar(int nr)

{

   int flagP=0, flagimP=0;

   while(nr!=0)

   {

       if(nr%2==0) flagP++; // verificam daca cifra e para si o contorizam

       else flagimP++;  // daca nu e para, atunci duh e impara, o bagam aci

       nr = nr/10; // dupa verificarea cifrei o dam la o parte

   }

   if(flagP>flagimP) return 2; // functia returneaza 2 daca numarul are mai multe cifre pare decat impare

   else if(flagP<flagimP) return 1; // functia returneaza 1 daca numarul are mai multe cifre impare decat cifre pare

   else if(flagP==flagimP) return 0; // functia returneaza 0 daca numarul de cifre pare si impare e acelasi

}

int main()

{

   int n, a;

   std::cin >> n;

   int flag=0;

   for(int i=0;i<n;i++)

   {

       std::cin >> a;

       if(checkParImpar(a)==2)

       {

            std::cout << a << " ";

            flag++;

       }

   }

   if (flag==0) std::cout << 0;

   return 0;

}


patrycifor77: multumesccccc
Alte întrebări interesante