Se citește un număr natural n. Să se afișeze cel mai mare și cel mai mic numar care se poate forma cu cifrele numărului n. Numărul minim și numărul maxim vor avea același număr de cifre ca și n (nu poate începe cu cifra 0). Se va folosi un vector de frecvență.
Exemplu:
Dacă n este 52200996 atunci numerele cerute este 99652200 și 20025699.
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n,i,a[10]={0},x,S=0,s=0,b[10];
cout<<"n=";
cin>>n;
while(n!=0)
{
x=n%10;
a[x]++;
n=n/10;
}
for(i=9;i>=0;i--)
{
b[i]=a[i];
while(a[i]!=0)
{
S=S*10+i;
a[i]--;
if(i>0 && a[i]>0)
{x=i;s=x;}
}
}
cout<<"cel mai mare numar este "<<S<<endl;
b[x]--;
for(i=0;i<=9;i++)
while(b[i]!=0)
{s=s*10+i;b[i]--;}
cout<<"cel mai mic numar este "<<s;
return 0;
}
Explicație:
Multumesc+5*+cel mai bun raspuns?
Alte întrebări interesante
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă