ioana_martin98

Untitled

May 3rd, 2022 (edited)
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. /*1. Se introduc n numere intregi egale cu 0, 1 sau 2. Sa se det:
  4.     pe ce poz.apare primul 0,
  5. *   de cate ori apare fiecare cifra si
  6. *   care este cifra folosita cel mai putin
  7. */
  8.  
  9.  
  10. int vf[3];
  11.  
  12. int main()
  13. {
  14.     int v[100], i, n, poz0 = -1, minAparitii = 101, cMin=-1;
  15.     cin >> n;
  16.     for (i = 1; i <= n; i++)
  17.     {
  18.         cin >> v[i];
  19.         //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
  20.         if (v[i] == 0 && vf[0] == 0)
  21.             poz0 = i;
  22.  
  23.         //crestem frecventa pentru fiecare numar citit
  24.         vf[v[i]]++;
  25.  
  26.     }
  27.     cout << "pozitia " << poz0 <<endl;
  28.  
  29.     //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.
  30.     for (i = 0; i <= 2; i++)
  31.     {
  32.         cout << "cifra " << i << " apare de " << vf[i] << " ori, ";
  33.         // nr minim aparitii, initializat cu 101 (daca sa zicem tot ce citim in v[100] va fi aceeast valoare, ea are maxim 101 aparitii
  34.         // daca frecventa cifrei curente este mai mica decat nr min aparitii
  35.         if (vf[i] < minAparitii)
  36.         {
  37.             //modif minAparitii
  38.             minAparitii = vf[i];
  39.             // memoram cifra careia ii corespunde frecventa minima
  40.             cMin = i;
  41.         }
  42.     }
  43.     cout << endl;
  44.     cout << "cifra " << cMin << " apare cel mai putin";
  45.  
  46.     return 0;
  47. }
Add Comment
Please, Sign In to add comment