Răspuns :
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!
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, vă rugăm să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la lista de favorite!