Se citeşte de la tastaturǎ un numǎr natural. Sǎ se afişeze cel mai mare numǎr care se poate forma cu cifrele distincte ale numǎrului dat.
Exemplu Pentru numǎrul 29363, mulţimea cifrelor distincte este {2, 3, 6, 9}, iar numǎrul cerut este 9632.
C++...cat mai simplu, daca se poate :)
Răspunsuri la întrebare
Răspuns de
1
Imdd in 6 m rezolv sper ca team ajutat
artur99:
lol, au trecut 9m :))
Răspuns de
1
#include <iostream>
using namespace std;
int main(){
int n, v[20], i, k=1, con, cif, c=0, aux, final=0;
cout<<"n=";
cin>>n;
while(n>0){
cif=n%10;//Luam fiecare cifra a numarului n, si o introducem in vector
con=0;//Prima data verificam daca nu exista deja cifra in vector
for(i=1;i<=k;i++){
if(v[i]==cif)
con=1;
}
if(con==0){
v[k]=cif;//Introducem in vector
k++;//Incrementam k, ca sa scriem pe urmatoarea pozitie
}
n=n/10;//Scoatem ultima cifra
}
//Ordonam vectorul descrescator, prin metoda bulelor/bubles/interschimbare
//Asta ar trebui sa o ai in caiet :P
do{
c=0;
for(i=2;i<k;i++){
if(v[i]>v[i-1]){
aux=v[i];
v[i]=v[i-1];
v[i-1]=aux;
c=1;
}
}
}while(c>0);
//Transformam vectorul intr-un numar
for(i=1;i<k;i++){
final = final*10+v[i];
}
cout<<final;
return 0;
}
using namespace std;
int main(){
int n, v[20], i, k=1, con, cif, c=0, aux, final=0;
cout<<"n=";
cin>>n;
while(n>0){
cif=n%10;//Luam fiecare cifra a numarului n, si o introducem in vector
con=0;//Prima data verificam daca nu exista deja cifra in vector
for(i=1;i<=k;i++){
if(v[i]==cif)
con=1;
}
if(con==0){
v[k]=cif;//Introducem in vector
k++;//Incrementam k, ca sa scriem pe urmatoarea pozitie
}
n=n/10;//Scoatem ultima cifra
}
//Ordonam vectorul descrescator, prin metoda bulelor/bubles/interschimbare
//Asta ar trebui sa o ai in caiet :P
do{
c=0;
for(i=2;i<k;i++){
if(v[i]>v[i-1]){
aux=v[i];
v[i]=v[i-1];
v[i-1]=aux;
c=1;
}
}
}while(c>0);
//Transformam vectorul intr-un numar
for(i=1;i<k;i++){
final = final*10+v[i];
}
cout<<final;
return 0;
}
Anexe:
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Germana,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Biologie,
9 ani în urmă