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

1. Se citeşte un număr natural format din 3 cifre. Să se afişeze numărul maxim care se poate forma din cifrele sale. 2. Se citeşte un număr natural format din 4 cifre. Så se afişeze numărul maxim, respectiv numărul minim care se poate forma din cifrele sale.​

Răspunsuri la întrebare

Răspuns de biancasandovici17
0

 Pentru a scrie algoritmurile de mai jos, am folosit vectori si sortarea lor. Am pus intr-un vector cifrele numarului n. Ca sa aflu nr maxim care se poate forma din cifrele sale, a trebuit doar sa le sortez descrescator, folosind metoda sortarii prin selectie. Pentru a afla nr minim, le-am sortat crescator si am afisat vectorul.

Pb1:

#include <iostream>

using namespace std;

int main()

{

   int n, a[5], i, m=0, cif, j;

   cin>>n;

   while(n)

   {

       cif=n%10;

       n/=10;

       a[++m]=cif;

   }

   for(i=1; i<=m-1; i++)

       for(j=i+1; j<=m; j++)

       if(a[i]<a[j])

       swap(a[i], a[j]);

   for(i=1; i<=m; i++)

       cout<<a[i];

   return 0;

}

Pb2:

#include <iostream>

using namespace std;

int main()

{

   int n, a[6], b[6], i, m=0, cif, j, t=0;

   cin>>n;

   while(n)

   {

       cif=n%10;

       n/=10;

       a[++m]=cif;

       b[++t]=cif;

   }

   for(i=1; i<=m-1; i++)

       for(j=i+1; j<=m; j++)

       if(a[i]<a[j])

       swap(a[i], a[j]);

   for(i=1; i<=t-1; i++)

       for(j=i+1; j<=t; j++)

       if(b[i]>b[j])

           swap(b[i], b[j]);

       for(i=1; i<=m; i++)

           cout<<a[i];

       cout<<endl;

       for(i=1; i<=t; i++)

           cout<<b[i];

}

Sper ca te-am ajutat!

Alte întrebări interesante