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

Se citesc 4 numere întregi. Realizați un algoritm care obține cel mai mare număr, format cu cea mai mare cifră a fiecărui număr citit.​

Răspunsuri la întrebare

Răspuns de biancasandovici17
1

Iti voi scrie doua algoritmuri. Primul algoritm nu citeste 4 numere, ci un vector format din patru elemente. In acest fel, este mai putin de scris fata de celalalt. Tu il vei scrie pe cel pe care il consideri ok.

PRIMUL ALGORITM:

#include <iostream>

using namespace std;

int main()

{

   int n=4, j, i, maxim, m=0, a[1002], v[1002], cif;

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

       cin>>v[i];

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

   {

       maxim=0;

       while(v[i]!=0)

       {

           cif=v[i]%10;

           v[i]/=10;

             if(cif>maxim)

               maxim=cif;

       }

        a[++m]=maxim;

   }

       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<=n; i++)

       cout<<a[i];

   return 0;

}

AL DOILEA ALGORITM:

#include <iostream>

using namespace std;

int main()

{

   int a, b, c, d, v[1002], n=0, maxim=0, cif, i;

   cin>>a>>b>>c>>d;

   while(a!=0)

   {

       cif=a%10;

       a/=10;

       if(cif>maxim)

           maxim=cif;

   }

   v[++n]=maxim;

   maxim=0;

       while(b!=0)

   {

       cif=b%10;

       b/=10;

       if(cif>maxim)

           maxim=cif;

   }

   v[++n]=maxim;

   maxim=0;

       while(c!=0)

   {

       cif=c%10;

       c/=10;

       if(cif>maxim)

           maxim=cif;

   }

   v[++n]=maxim;

   maxim=0;

       while(d!=0)

   {

       cif=d%10;

       d/=10;

       if(cif>maxim)

           maxim=cif;

   }

   v[++n]=maxim;

   maxim=0;

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

       for(int j=i+1; j<=n; j++)

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

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

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

       cout<<v[i];

   return 0;

}

SUCCES!

Alte întrebări interesante