online: 6; azi: 632; total: 52638 Manual clasa a ix a - Algoritmi - Algoritmi pentru prelucrarea cifrelor

Manual clasa a IX a

Algoritmi

Algoritmi pentru prelucrarea cifrelor

Se citeşte un număr natural n. Să se afişeze suma şi produsul cifrelor din poztiile pare ( sau , variantă , impare ). Numărarea pozițiilor se face începând cu cifra cea mai semnificativă .
# include < iostream >
using namespace std ;
int main ()
{
int n, cifra, pozitie = 1 , suma = 0 , produs = 1 ;
bool este_pozitie_para ;
cout << " Introduceti un numar natural: " ;
cin >> n;
cout << " Introduceti daca doriti sa calculati suma si produsul cifrelor de pe pozitiile pare (0) sau impare (1): " ;
cin >> este_pozitie_para ;
while (n != 0 )
{
cifra = n % 10 ;
if ( pozitie % 2 == este_pozitie_para ) // daca pozitia este para sau, alternativ, daca pozitia este impara
{
suma += cifra;
produs *= cifra;
}
n /= 10 ;
pozitie ++;
}
cout << "Suma cifrelor de pe pozitiile " ;
if ( este_pozitie_para )
{
cout << "impare" ;
}
else
{
cout << "pare" ;
}
cout << " ale numarului este: " << suma << endl ;
cout << "Produsul cifrelor de pe pozitiile " ;
if ( este_pozitie_para )
{
cout << "impare" ;
}
else
{
cout << "pare" ;
}
cout << " ale numarului este: " << produs << endl ;
return 0 ;
}

La inceputul programului se declara variabilele necesare ( n - numarul citit de la tastatura, cifra - cifra curenta, pozitie - numarul pozitiei curente ( incepand cu cifra cea mai semnificativa), suma - suma cifrelor de pe pozitiile pare (sau, alternativ, impare), produs - produsul cifrelor de pe pozitiile pare (sau, alternativ, impare)). De asemenea, se declara variabila booleana este_pozitie_para , care indica daca se calculeaza suma si produsul cifrelor de pe pozitiile pare sau impare.
Se cere utilizatorului sa introduca un numar natural n , iar apoi se cere utilizatorului sa aleaga daca doreste sa calculeze suma si produsul cifrelor de pe pozitiile pare sau impare. Apoi se parcurg cifrele numarului de la dreapta la stanga cu ajutorul instructiunii while .
In interiorul buclei while se extrage cifra curenta a numarului ( cifra = n % 10 ) si se verifica daca pozitia curenta este para sau impara cu ajutorul expresiei if ( pozitie % 2 == este_pozitie_para ) . Daca pozitia este para sau impara, se adauga la suma si se inmulteste cu produsul cifrei curente.
La sfarsitul programului, se afiseaza pe ecran valorile calculate pentru suma si produs cu ajutorul functiei cout . De asemenea, se afiseaza si daca au fost calculate suma si produsul cifrelor de pe pozitiile pare sau impare.