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
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!