Răspuns :
int sub(int n)
{
int a[100],nr=0,k=0;
while(n!=0)
{
a[nr++]=n%10;
n/=10;
}
for(int i=0;i<nr-1;i++)
for(int j=i+1;j<nr;j++)
if(a[i]<a[j])
swap(a[i],a[j]);
for(int i=0;i<nr;i++)
k=10*k+a[i];
return k;
}
{
int a[100],nr=0,k=0;
while(n!=0)
{
a[nr++]=n%10;
n/=10;
}
for(int i=0;i<nr-1;i++)
for(int j=i+1;j<nr;j++)
if(a[i]<a[j])
swap(a[i],a[j]);
for(int i=0;i<nr;i++)
k=10*k+a[i];
return k;
}
Uite aici o metoda cu vector de frecventa :
#include <iostream>
using namespace std;
void sub(int n)
{
int a[100]={0};
while(n!=0)
{
a[n%10]++;
n/=10;
}
for(int i=9;i>=0;i--)
while(a[i]>0)
{
cout<<i;
a[i]--;
}
}
int main()
{
int n;
cin>>n;
sub(n);
return 0;
}
#include <iostream>
using namespace std;
void sub(int n)
{
int a[100]={0};
while(n!=0)
{
a[n%10]++;
n/=10;
}
for(int i=9;i>=0;i--)
while(a[i]>0)
{
cout<<i;
a[i]--;
}
}
int main()
{
int n;
cin>>n;
sub(n);
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!