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ăspunsuri la întrebare
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);
}