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