To rozwiązanie nie uwzględnia polskich znaków językowych jak coś.
Najpierw tworzysz tablicę int, która będzie reprezentować ilość wystąpień liter w ciągu znaków i zerujesz jej wszystkie elementy.
Następnie pobierasz ten ciąg znaków i przypisujesz ją do zmiennej string(w moim przypadku s)
Teraz pętla for, która przechodzi po kolei po kązdym elemencie w s:
for(int i = 0; i < s.length(); i++) // s to nasz tekst
{
if(s[i] > 96 && s[i] < 123) // sprawdza, czy litera jest mała
tab[s[i] - 97]++; // inkrementacja komórki tabeli odpowiadająca danej literce
}
W kodzie podanym zauważysz pewne cyferki, odpowiadają one symbolom ASCII, 97 odpowiada literce "a" a 122 to "z".
Podobną instrukcję if musisz napisać dla dużych literek(patrz tablica ASCII)
Teraz już tylko wypisanie elementów tablicy :D
Oczywiście możesz w tej pętli for sprawdzać literki if''ami ale komu by się chciało :P