Eliminarea cifrelor impare dintr-un numar C++
ENUNT: Se citeste de la tastatura un numar n. Eliminati cifrele impare ale acestuia si afisati numarul astfel obtinut.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
using namespace std; | |
// se declara variabilele n,m si p de tip intreg | |
//variabila n memoreaza numarul introdus de la tastatura | |
//variabila m memoreaza numarul format prin eliminarea cifrelor impare ale lui n | |
//variabila p memoreaza o putere a lui 10 si ajuta la construirea numarului cerut prin adaugarea fiecarei cifre pare pe pozitia corespunzatoare(unitati,zeci,sute etc.) | |
int n,m,p; | |
int main() | |
{// se citeste numarul n | |
cout<<"Introduceti numarul n: "; | |
cin>>n; | |
//p se initializeaza cu elementul neutru al inmultirii | |
p=1; | |
//construim numarul m cu cifrele pare ale lui n, astfel m o sa reprezinte numarul format prin eliminarea cifrelor impare | |
while(n>0) | |
{ | |
if(n%2==0)//se verifica daca cifra este para | |
{ | |
m=(n%10)*p+m;// se adauga cifra pe pozitia corespunzatoare in numarul nou format(unitati, zeci, sute etc.) | |
p=p*10;//se mareste puterea lui 10, pentru ca urmatoarea cifra para sa fie adaugata din nou pe pozitia corespunzatoare(zeci, sute, mii etc.) | |
} | |
n=n/10;//se elimina cifra din numar | |
} | |
//se verifica daca numarul n are cel putin o cifra para | |
if(p==1)// daca p ramane egal cu 1 inseamna ca testul n%2==0 nu a fost trecut pentru nicio cifra a lui n, deci numarul are numai cifre impare | |
{ | |
cout<<"Numarul are numai cifre impare"; | |
} else | |
{// se afiseaza numarul m obtinut prin eliminarea cifrelor impare ale lui n, format doar din cifre pare | |
cout<<"Prin eliminarea cifrelor impare ale lui n se obtine numarul: "<<m; | |
} | |
return 0; | |
} |
Exemplu:
Video YouTube in care explicam cum functioneaza algoritmul care sterge cifrele pare sau impare dintr-un numar in C++:
Spor la lucru! Daca aveti intrebari nu ezitati sa le puneti in comentarii, va vom raspunde cat de repede putem 
Linia 18 trebuie să înceapă cu “{“…fără ea compilatorul dă eroare.
Eu sunt un “foarte” începător și până mi-am dat seama a durat puțin…
Poate corectați.
Toată stima pentru munca voastră…
Ai dreptate. Am modificat. Ne cerem scuze de greseala. Zi faina si spor la lucru.
Dar m-ul nu trebuie initializat cu 0 inainte??? Deasemenea sunt si eu “foarte” incepator si …