#1546 C++ 20 DE PUNCTE
(vectori de frecventa)
Cerința
Se dă numărul natural n și se cere să se afișeze cel mai mic număr natural format din cifrele sale.
Date de intrare
Fișierul de intrare mincifre.in conține pe prima linie numărul n.
Date de ieșire
Fișierul de ieșire mincifre.out va conține pe prima linie numărul m, reprezentând cel mai mic număr ce se poate forma cu cifrele numărului din fișierul de intrare.
Restricții și precizări
Numerele citite vor avea cel mult 10.000 de cifre
Exemplu
mincifre.in
321
mincifre.out
123
Explicație
Cel mai mic număr ce se poate forma cu cifrele 3,2,1 este 123.
Răspunsuri la întrebare
Răspuns de
11
#include <fstream>
using namespace std;
ifstream cin("mincifre.in");
ofstream cout("mincifre.out");
char c;
int x[10];
int main()
{
c=cin.get();
while(!cin.eof())
{
x[c-48]++;
c=cin.get();
}
int n=1;
while(x[n]==0)
n++;
cout<<n;
x[n]--;
for(int i=1;i<=x[0];i++)
cout<<0;
for(int i=n;i<10;i++)
for(int j=1;j<=x[i];j++)
cout<<i;
}
using namespace std;
ifstream cin("mincifre.in");
ofstream cout("mincifre.out");
char c;
int x[10];
int main()
{
c=cin.get();
while(!cin.eof())
{
x[c-48]++;
c=cin.get();
}
int n=1;
while(x[n]==0)
n++;
cout<<n;
x[n]--;
for(int i=1;i<=x[0];i++)
cout<<0;
for(int i=n;i<10;i++)
for(int j=1;j<=x[i];j++)
cout<<i;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă