Răspuns :
6.Se dă un număr natural n cu trei cifre. Se cere să se afișeze suma cifrelor și cifra cea mai mică dacă numărul este par, respectiv produsul cifrelor și cifra cea mai mare în cazul cand numărul este impar
Am rezolvat acest exercitiu cu functii (subprograme). Il voi explica.
#include <iostream>
using namespace std;
int minim(int x) // functie care returneaza minimul unui numar x
{
int mini=x%10;
while(x>9)
{
if(mini>x/10%10)
mini=x/10%10;
x=x/10;
}
return mini;
}
int maxim(int x) // functie care returneaza maximul unui numar x
{
int maxi=x%10;
while(x>9)
{
if(maxi<x/10%10)
maxi=x/10%10;
x=x/10;
}
return maxi;
}
int suma_cif(int x) // functie care returneaza suma cifrelor unui numar x
{
int suma=0;
while(x!=0)
{
suma=suma+x%10;
x=x/10;
}
return suma;
}
int produs_cif(int x) // functie care returneaza produsul cifrelor unui numar x
{
int produs=1;
while(x!=0)
{
produs=produs*(x%10);
x=x/10;
}
return produs;
}
int main()
{
int n;
cin>>n;
if(n%2==0)
cout<<"Suma cifrelor este "<<suma_cif(n)<<" si cifra minima este "<<minim(n);
else
cout<<"Produsul cifrelor este "<<produs_cif(n)<<" si cifra maxima este "<<maxim(n);
return 0;
}
In functia principala verificam daca numarul n este par sau impar, si in functie de asta, apelam functiile de mai sus, care de data asta il au ca paramentru pe n, nu pe x. Functiile de sus vor face ce trebuie pentru cine pun eu in paranteza aia. Daca nu intelegi ceva din functii sa spui.