399
Cerinţa
Se dau n numere naturale cu cel mult două cifre fiecare. Afişaţi valorile distincte în ordinea descrescătoare a numărului de apariţii.
Date de intrare
Fişierul de intrare frecventa1.in conţine pe prima linie numărul n; urmează cele n numere, dispuse pe mai multe linii şi separate prin spaţii.
Date de ieşire
Fişierul de ieşire frecventa1.out va conţine pe prima linie valorile distincte dintre cele n, în ordinea descrescătoare a numărului de apariţii.
Restricţii şi precizări
1 ≤ n ≤ 100000- dacă două valori apar de acelaşi număr de ori, se va afişa mai întâi valoarea mai mică
Exemplu
frecventa1.in
8 3 19 3 65 3 19 14 3
frecventa1.out
3 19 14 65
#include <bits/stdc++.h>
using namespace std;
ifstream fin("frecventa1.in");
ofstream fout("frecventa1.out");
int main()
{
int f[100]={0};
int n;
fin >> n;
int tmp;
int max=0;
for(int i = 0 ; i < n ; ++i)
{
fin >> tmp;
f[tmp]++;
if(f[tmp]>max)
max=f[tmp];
}
for(int i = max ; i > 0 ; --i)
{
for(int j = 0 ; j < 100 ; ++j)
{
if(f[j]==i)
fout << j << ' ';
}
}
return 0;
}
Comentarii