👤

Se dă o propoziție formată din litere mari și mici ale alfabetului englez, cifre, spații și semne de punctuație, în care literele mari și mici se consideră identice. Determinați vocala din șir cu număr maxim de apariții.

Răspuns :

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

bool comp(const pair<char, int> & a, const pair<char, int> & b) {
    return a.second < b.second; }

int main()
{
    string n, vocale = "aeiouAEIOU";
    map<char, int> aparitii;

    getline(cin, n);
    for(int i = 0; i < n.size(); i++)
        if(vocale.find(n[i]) != string::npos)
            aparitii[tolower(n[i])]++;

    cout << max_element(aparitii.begin(), aparitii.end(), comp) -> first << '\n';
    return 0;
}