Răspuns :
Răspuns:
1.
int n, suma=0, prod=1, cifra;
cout<<“n=“; cin>>n;
while (n !=0) { // facem asta cat timp numarul mai are cifre, deci cat timp e diferit de 0
cifra = n%10; //aici luam ultima cifra si o stocam in variabila cifra
if (cifra % 2 == 0){ //aici verificam daca cifra e para
suma = suma + cifra; //daca cifra e para o adaugam la suma
prod = prod * cifra;
}
n = n / 10; //aici impartim numarul la 10 ca sa trecem la urmatoarea cifra
}
cout<<“suma: “<<suma<<“, produsul: “<<prod;
Pentru varianta de impare pur si simplu pui schimbi conditia cifra % 2 == 0 in cifra % 2 != 0
___________________
2. Aici consider ca ultima cifra e pe pozitia 0. Adica numarul 5679 are 9 pe pozitia 0, 7 pe pozitia 1, 6 pe pozitia 2 si 5 pe pozitia 3. Deci se folosesc doar cifrele 9 si 6.
int n, suma=0, prod=1, cifra;
cout<<“n=“; cin>>n;
while (n !=0) {
cifra = n%10;
suma = suma + cifra;
prod = prod * cifra;
n = n / 100; //aici impartim numarul la 100 ca sa trecem la urmatoarea cifra de pe pozitia para.
}
cout<<“suma: “<<suma<<“, produsul: “<<prod;
Ca sa faci asta pt cifrele de pe pozitile impare va trebui sa imparti pe n la 10 inainte de while, adica sa adaugi n=n/10. Asa se porneste de la cifra de pe pozitia 1, nu de pe pozitia 0, in rest totul e la fel.