Informatică, întrebare adresată de nataliaandreea765, 8 ani în urmă

Imi poate rezolva cineva acest exercitiu? Dau coroana, imi trebuie pentru maine
Mulțumesc mult​

Anexe:

Răspunsuri la întrebare

Răspuns de cosmaandra2000
1

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.


nataliaandreea765: Mulțumesc mult!
Alte întrebări interesante