Informatică, întrebare adresată de Dropbox, 9 ani în urmă

Cerința
Se dau n numere naturale. Afișați cifrele care apar în scrierea zecimală a acestor numere, în ordinea crescătoare a numărului de apariții. Dacă două cifre au același număr de apariții, se va afișa mai întâi cifra mai mică,

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale.

Date de ieșire
Programul va afișa pe ecran numărul cifrele care apar în scrierea zecimală a numerelor citite, în ordinea cerută, separate prin exact un spațiu.

Restricții și precizări
1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu
Intrare

5
124 229 1322 4 534
Ieșire

5 9 1 3 4 2

Răspunsuri la întrebare

Răspuns de express
8
#include <iostream>
#define INF 2147000000
using namespace std;
int w[10],n,x,i,j,cif,p,minn=INF;
bool ok;
int main()
{
    cin>>n;
    for(i=1;i<=n;i++)
     {
         cin>>x;
         while(x)
         {
             cif=x%10;
             x=x/10;
             w[cif]=w[cif]+1;
         }
     }
     do
    {
        ok=true;
        minn=INF;
        for(i=0;i<=9;i++)
         if((w[i]<minn)&&(w[i])) minn=w[i], p=i, ok=false;
         w[p]=INF;
        if(!ok) cout<<p<<" ";
    } while(!ok);

    return 0;
}

Dropbox: Mersi, dar am reusit s-o fac pana la urma =)
Dropbox: Apropo, daca-ti place sa ii dai minimului o valoare foarte mare exista biblioteca <climits>
Dropbox: min = INT_MAX;
Dropbox: si gata.
express: Asa fac acum...de vre-uni an...problema am facut-o mai demult...si in loc de climts folosesc <bits/stdc++.h>...universala
Dropbox: Da, mult mai bine asa..
Alte întrebări interesante