Se citesc n numere naturale de maxim 10 cifre fiecare, afisati nr in ordine descrescatoare dupa numarul de cifre distincte .
Daca exista 2 numere care au acelasi nr de cifre distincte se vor ordona dupa valoare.
Răspunsuri la întrebare
Răspuns de
2
#include <iostream>
using namespace std;
int poz[11];
int main() {
unsigned n,i,nr;
cin>>n;
long v[n+1],nrdist[n+1],p;
for(i=0;i<n;i++){
cin>>v[i];
p = v[i];
nr = 0;
while(p){
poz[p%10]++;
p/=10;
}
for(int i=0;i<10;i++){
if(poz[i]!=0)
nr++;
poz[i] = 0;
}
nrdist[i] = nr;
}
for(i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(nrdist[i]<nrdist[j]){
swap(nrdist[i],nrdist[j]);
swap(v[i],v[j]);
}
for(i=0;i<n;i++)
cout<<v[i]<<" ";
return 0;
}
using namespace std;
int poz[11];
int main() {
unsigned n,i,nr;
cin>>n;
long v[n+1],nrdist[n+1],p;
for(i=0;i<n;i++){
cin>>v[i];
p = v[i];
nr = 0;
while(p){
poz[p%10]++;
p/=10;
}
for(int i=0;i<10;i++){
if(poz[i]!=0)
nr++;
poz[i] = 0;
}
nrdist[i] = nr;
}
for(i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(nrdist[i]<nrdist[j]){
swap(nrdist[i],nrdist[j]);
swap(v[i],v[j]);
}
for(i=0;i<n;i++)
cout<<v[i]<<" ";
return 0;
}
Alte întrebări interesante
Biologie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă