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
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.