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 ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!