👤

Fişierul bac.txt conţine, în ordine descrescătoare, cel puţin două şi cel mult 10^6 numere naturale din intervalul [0,10^9], separate prin câte un spaţiu. Se cere să se afişeze pe ecran, în ordine strict descrescătoare, separate prin câte un spaţiu, numai numerele care apar în fişier de exact două ori. Dacă nu există niciun astfel de număr, se afișează pe ecran mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate şi al timpului de executare.

Exemplu: dacă fişierul conţine numerele 100 50 50 50 49 49 36 16 16 12 10 10 9 7 7

pe ecran se afişează, în această ordine, numerele 49 16 10 7


Fişierul Bactxt Conţine În Ordine Descrescătoare Cel Puţin Două Şi Cel Mult 106 Numere Naturale Din Intervalul 0109 Separate Prin Câte Un Spaţiu Se Cere Să Se A class=

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

 {

unsigned int n,i,x;

 cout<<"n=";

 cin>>n;

long a[n],b[100000]={0};

for(i=0;i<n;i++)

{

   cout<<"a["<<i<<"]=";

   cin>>a[i];

}

for(i=0;i<n;i++)

{

x=a[i];

b[x]++;

}

for(i=100000;i>0;i--)

   if(b[i]==2)

   cout<<i<<" ";

return 0;

}

Explicație:

Eu nu am ajuns inca la fisier, poti sa il bagi si tu