Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- /*1. Se introduc n numere intregi egale cu 0, 1 sau 2. Sa se det:
- pe ce poz.apare primul 0,
- * de cate ori apare fiecare cifra si
- * care este cifra folosita cel mai putin
- */
- int vf[3];
- int main()
- {
- int v[100], i, n, poz0 = -1, minAparitii = 101, cMin=-1;
- cin >> n;
- for (i = 1; i <= n; i++)
- {
- cin >> v[i];
- //daca elementul citit este 0 si nu a mai aparut pana acum (adica vf[0] este 0), poz0 va memora prima pozitie pe care apare 0
- if (v[i] == 0 && vf[0] == 0)
- poz0 = i;
- //crestem frecventa pentru fiecare numar citit
- vf[v[i]]++;
- }
- cout << "pozitia " << poz0 <<endl;
- //enuntul spune ca numerele citite pot fi doar 0, 1 si 2, asta inseamna ca vectorul de frecventa are doar pozitiile 0, 1 si 2.
- for (i = 0; i <= 2; i++)
- {
- cout << "cifra " << i << " apare de " << vf[i] << " ori, ";
- // nr minim aparitii, initializat cu 101 (daca sa zicem tot ce citim in v[100] va fi aceeast valoare, ea are maxim 101 aparitii
- // daca frecventa cifrei curente este mai mica decat nr min aparitii
- if (vf[i] < minAparitii)
- {
- //modif minAparitii
- minAparitii = vf[i];
- // memoram cifra careia ii corespunde frecventa minima
- cMin = i;
- }
- }
- cout << endl;
- cout << "cifra " << cMin << " apare cel mai putin";
- return 0;
- }
Add Comment
Please, Sign In to add comment