👤

Se citese un numar natural x de la tastatura.Sa se scrie algoritme pentru:a)suma cifrelor sale b)produsul cifrelor impare c)sa se afiseze cifrele mai mari ca 5 d)sa se calculeze media aritmetica a numerelor impare​

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

// a) suma cifrelor sale

void suma(int n)

{

int rezultat = 0;

while(n > 0)

{

 rezultat += (n - ((n / 10) * 10));

 n /= 10;

}

cout << "a) Suma cifrelor: " << rezultat << endl;

}

// b) produsul cifrelor impare

void produs(int n)

{

int rezultat = 1;

while(n > 0)

{

 if((n - ((n / 10) * 10)) % 2 > 0)

 {

  rezultat *= (n - ((n / 10) * 10));

 }

 n /= 10;

}

cout << "b) Produsul cifrelor impare: " << rezultat << endl;

}

// c) sa se afiseze cifrele mai mari decat 5

void afiseaza(int n)

{

cout << "c) Cifre mai mari decat 5: ";

while(n > 0)

{

 if((n - ((n / 10) * 10)) > 5)

 {

  cout << (n - ((n / 10) * 10)) << " ";

 }

 n /= 10;

}

cout << endl;

}

// d)sa se calculeze media aritmetica a numerelor impare​

void media(int n)

{

int x=0;

double rezultat = 1;

while(n > 0)

{

 if((n - ((n / 10) * 10)) % 2 > 0)

 {

  rezultat *= (n - ((n / 10) * 10));

  x++;

 }

 n /= 10;

}

cout << "d) Media aritmetica a nr. impare: " << rezultat / x << endl;

}

int main()

{

unsigned long int numar;

//se citeste numarul

cout << "Numar: ";

cin >> numar;

suma(numar);

produs(numar);

afiseaza(numar);

media(numar);

return(0);

}

Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari