Odpowiedź :
Odpowiedź:
#include <iostream>
#include <string>
#include <map>
int main() {
std::string word;
std::cin >> word;
std::map<char, int> charMap;
for(const char c : word){
charMap[c]++;
}
for(const auto&[character, number] : charMap){
std::cout << character << ": " << number << std::endl;
}
return 0;
}
Wyjaśnienie:
Chyba jeden z prostszych i czytelniejszych sposobów na zrobienie tego. Użyłem stringa do przechowywania wyrazu którego znaki mamy zliczać. Skorzystałem również z mapy, która przechowuje poszczególne litery tego wyrazu razem z ich ilością, które potem wyświetlam w ostatniej pętli z wykorzystanie structured bindings
Odpowiedź
Napisałam program liczący ile razy wybrana litera występuje w podanym wyrazie. Program następnie wyświetla na ekranie komunikat z wynikiem.
Kod źródłowy jest w pierwszym załączniku. W drugim podałam jak wyglądają przykładowe wyniki uruchomienia.
Program liczy wystąpienia liter tylko gdy są one znakami ASCII. Natomiast z wyjątkiem Code::Blocks, Dev-C++ oraz Visual Studio podany wyraz może zawierać polskie litery, a właściwie może zawierać dowolne znaki. Wprawdzie w tych trzech programach też można wpisać wyraz zawierający polskie litery, ale wtedy nie ma gwarancji otrzymania poprawnego wyniku.
Jeżeli Twoja platforma (program, środowisko) nie obsługuje polskich liter w komunikatach, to zamień polskie litery w komunikatach na odpowiadające im znaki ASCII.
Jeżeli Twoja platforma nie obsługuje polskich liter w nazwach zmiennych, to zamień polskie litery na odpowiadające im znaki ASCII. (Na przykład zarówno Code::Blocks, Dev-C++ jak i OnlineGDB jeszcze nie obsługują polskich liter w nazwach zmiennych oraz funkcji.)
Wyjaśnienie
Przykładowe wyniki uzyskałam na platformie replit.