Ma poate ajuta cineva cu o problema pe pb-info. Este problema 185:
Cerinţa
Se citește de la tastură un număr natural n, apoi n numere naturale. Să se afişeze cel mai mic număr care poate fi scris folosind prima cifră a numerelor citite.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n numere naturale, separate prin spaţii.
Date de ieşire
Programul afișează pe ecran numărul MIN, cel mai mic număr care poate fi scris folosind prima cifră a numerelor citite.
Restricţii şi precizări:
0 < n < 1000
cele n numere citite vor fi nenule și mai mici decât 1.000.000.000
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int n, fr[10], i, num, cif, j;
int main()
{
cin >> n;
for (i=1; i<=n; ++i)
{
cin >> num;
while (num>9)
num/=10;
cif=num;
++fr[cif];
}
cif=1;
while (fr[cif]==0) ++cif;
cout << cif; --fr[cif];
for (i=cif; i<10; ++i)
{
if (fr[i]>0)
{
for (j=1; j<=fr[i]; ++j)
cout << i;
}
}
}
#include <iostream>
using namespace std;
int n,a[10];
int main()
{
cin >> n;
for(int i=1;i<=n;i++)
{
int x,min=9;
cin >> x;
if(x==0)
min=0;
else
while(x!=0)
{
if(x%10<min)
min=x%10;
x/=10;
}
a[min]++;
}
for(int i=1;i<=9;i++)
if(a[i]!=0)
{
a[i]--;
cout << i;
break;
}
for(int i=0;i<=9;i++)
for(int j=1;j<=a[i];j++)
cout << i;
return 0;
}