Frecventa cifrelor



#include <iostream>

using namespace std;

int main()
{
   int nr;
   cin>>nr;
   //ne vom lua un vector de frecventa in care vom memora numarul de aparitii
   //ale unei cifre
   int ap[10];
   //la inceput il vom initializa cu 0
   for(int i=0;i<=9;i++)
      ap[i]=0;
   while(nr!=0)
   {
      int ult_cifra=nr%10;
      ap[ult_cifra]++;
      nr=nr/10;
   }
   for(int i=0;i<=9;i++)
      cout<<"cifra "<<i<<" apare de "<<ap[i]<<" ori\n";
}


Explicatie:

- citim numarul
- ne initializam vectorul de frecventa cu 0
- vom lua pe rand fiecare cifra din numar cu ajutorul variabilei ult_cifra, iar in vectorul ap[] vom incrementa elementul de pe pozitia ult_cifra, acesta corespunzand numarului de aparitii ale cifrei stocate in ult_cifra
- la final vom afisa cate un mesaj corespunzator pentru fiecare cifra, acest mesaj continand cifra si numarul ei de aparitii