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

Se citeste de la tastatura un numar natural x.
a) Sa se elimine cifrele pare (exemplu: scriu 123, se afiseaza 13, cifra para 2 fiind eliminata);
b) Sa se dubleze cifrele impare (exemplu: scriu 132, se afiseaza 11332, cifrele impare 1 si 3 afisandu-se de doua ori in loc de una)

Multumesc anticipat!!!

Răspunsuri la întrebare

Răspuns de petruiulian01
1

Raspuns:

#include <iostream>

using namespace std;

int main()

{

   int x,c,aux=0,nr=0,ct;

   cin >> x;

   ct = x;

   

//  a)    

   while (x !=0){

           c = x%10;

           if (c % 2 !=0)

               aux = aux * 10 + c;

           x=x/10;

       }

   while (aux != 0){

            c = aux%10;

            nr = nr * 10 + c;

           aux=aux/10;

       }    

       cout << nr<<endl;

// b)

   aux = 0;

    while (ct !=0){

        c = ct%10;

         

        if (c % 2 != 0 || c == 1) {

               for (int i = 1; i <= 2; i++)

                   aux = aux * 10 + c;

            }

       else  

           aux = aux* 10 + c;

         

        ct = ct / 10;

    }

    nr = 0;

      while (aux != 0){

            c = aux%10;

            nr = nr * 10 + c;

           aux=aux/10;

       }

       cout << nr;

}

       

}

Explicație:

Ceva de genul am gandit eu, poate fi rezolvat in mai multe moduri.

Alte întrebări interesante