Program policzy i wyświetli na ekranie komunikat informujący ile razy wybrana litera występuje w wyrazie.

POMOCY
(C++)


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.

Zobacz obrazek 0AB
Zobacz obrazek 0AB