Fișierul bac.txt conține cel mult 10^6 numere naturale din intervalul [10, 10^9], separate prin câte un spațiu.
Se cere să se afișeze pe ecran, separate prin câte un spațiu, cifrele care apar o singură dată în scrierea numerelor din fișier, sau mesajul nu exista dacă nu există nicio astfel de cifră. Proiectați un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fişierul bac.txt conţine numerele
391 7772 4389 23939
atunci pe ecran se afișează valorile de mai jos, nu neapărat în această ordine:
1 4 8
Răspunsuri la întrebare
Răspuns de
1
Răspuns:Folosești un vector de frecvență.
Explicație: Citești pe rand din fișier numerele, le descompun și fiecare cifra o contorizezi cu ajutorul vectorului de frecvență (acest vector are pozitii de la 0 pana la 9 și este initializat cu valoarea 0 peste tot sau e declarat global. În momentul în care ai o cifra x sa zicem, faci f[x] ++ și astfel numeri de câte ori apare fiecare cifra). Apoi verifici în vectorul de frecventa câte dintre pozițiile vectorului au valoarea 1 și le afișezi (Atenție! Afișezi poziția și nu valoarea din vector)
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Informatică,
8 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă