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 ≤ 100.000
- 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
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Frecventa1:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("frecventa1.in");
ofstream fout("frecventa1.out");
int n, a[100],v[100];
int main(){
fin >> n;
int x;
for(int i=1;i<=n;++i){
fin >> x;
v[x] ++;
}
for(int i=0;i<100;++i)
a[i] = i;
for(int i=0;i<100;++i)
for(int j=i+1;j<100;++j)
if(v[a[i]]<v[a[j]]){
int aux = a[i];
a[i] = a[j];
a[j] = aux;
}
else
if(v[a[i]] == v[a[j]] && a[i]>a[j]){
int aux = a[i];
a[i] = a[j];
a[j] = aux;
}
for(int i=0;i<100;++i)
if(v[a[i]])
fout << a[i] << " ";
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #301 Frecventa1
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #301 Frecventa1 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!