Advertisement
MouseyN1

Verificare daca un nr apartine la baza si de cate ori apare

Oct 26th, 2012
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. /*
  2. Se citeste de la tastatura un numar in baza b, 2 <= b <= 9. Sa se verifice daca este int-adevar un numar in baza b
  3. si daca da sa se afiseze frecventa de aparitie a fiecarei cifre.
  4. */
  5.  
  6. #include <iostream>
  7. using namespace std;
  8. void frecventaCifre(int a[10], int nr)
  9. {
  10.     int cifra;
  11.     while(nr)
  12.     {
  13.         cifra = nr % 10;
  14.         a[cifra]++;
  15.         nr /= 10;
  16.     }
  17.     cout << endl << "Frecventa cifrelor: \n";
  18.     for(int i = 0; i < 10; i++)
  19.         cout << "Cifra " << i << " apare de " << a[i] << " ori." << endl;
  20. }
  21. void citireNumar(int &b, int &nr)
  22. {
  23.     cout << "Baza: "; cin >> b;
  24.     cout << "Numarul: "; cin >> nr;
  25. }
  26. int verificareBaza(int b, int nr)
  27. {
  28.     int aux = nr, cifra;
  29.     while(aux)
  30.     {
  31.         cifra = aux % 10;
  32.         if(cifra >= b)
  33.             return 0;
  34.         aux /= 10;
  35.     }
  36.     return 1;
  37. }
  38. int main()
  39. {
  40.     int b, nr, a[10] = {0};
  41.     citireNumar(b, nr);
  42.     if(b < 2 && b > 9) {
  43.         return 0;
  44.     }
  45.     if(verificareBaza(b, nr) == 1)
  46.         cout << "Numarul este in baza " << b;
  47.     else cout << "Numarul nu este in baza " << b;
  48.     frecventaCifre(a, nr);
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement