👤

Am nevoie de ajutor!!
In fisierul bac.in se citeste pe prima linie un numar natural n iar pe a doua linie n numere (de cel mult 4 cifre). Scrieti un program C++ care determina si scrie in fisierul bac.out toate numerele citite din fisierul bac.in care apar de cel putin 2 ori , sortate in ordine crescatoare.
ex. n=10
12 45 65 12 45 77 98 89 77 11
se va afisa: 12 45 77


Răspuns :

#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin("bac.in");
ofstream fout("bac.out");

int n,a[10001],k,l;

int main ()

{

    fin >> n;

    for(int i=1;i<=n;i++)
        fin >> a[i];

    sort(a,a+n);

    for(int i=1;i<=n;i++)
    {
        if(i>1 and a[i]==k and l==0)
            cout << a[i] << " ", l++;
        if(a[i]!=k) l=0;
        k=a[i];
    }


    return 0;
}