fbpx

Problema #138 – Frecventa – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Să se scrie un program care citește un șir de caractere și afișează litera mică cel mai des întâlnită în șir.

Date de intrare

Programul citește de la tastatură o un șir de cel mult 255 caractere.

Date de ieşire

Programul afișează pe ecran litera mică cel mai des întâlnită în șir.

Restricţii şi precizări

  • șirul conține litere mari și mici ale alfabetului englez, cifre și spații
  • dacă șirul conține mai multe litere cu număr maxim de apariții, se va fișa prima în ordine alfabetică

Exemplu

Intrare

In 12 mergem la munte

Ieșire

e

Explicație

Litera e apare în șir de 3 ori. Tot de 3 ori apare și litera m, dar e este prima în ordine alfabetică.

#include <bits/stdc++.h>
using namespace std;

int f[300];

int main()
{
    char ch[300];
    cin.getline(ch , 300);
    int i = 0;
    while(ch[i]!='\0')
    {
        if(ch[i]!=' ')
        {
            f[(int)ch[i]]++;
        }
        i++;    
    }
    int max=0 , val=0;
    for(int i = 50 ; i <= 300 ; ++i)
    {
        if(f[i]>max)
            max=f[i] , val=i;
    }
    if(val<97)
        val+=32;
        cout << (char) val;
}
Comentarii

S-ar putea sa iti placa