sprawdź za pomocą pętli for ile razy wyst. w podanym tekście szukana litera lub znak. zmodyfikuj tak aby program zwracał liczbę małych liter w tekście​

Sprawdź Za Pomocą Pętli For Ile Razy Wyst W Podanym Tekście Szukana Litera Lub Znak Zmodyfikuj Tak Aby Program Zwracał Liczbę Małych Liter W Tekście class=

Odpowiedź :

Odpowiedź

Program starałam się napisać bardzo prosto (pierwszy załącznik). W początkowej wersji programu pomiń wiersze 23-28.

Funkcja  islower()  jest właściwą metodą sprawdzania, czy znak jest małą literą. Podobnie istnieją funkcje sprawdzające, że znak jest dużą literą, cyfrą itp. Właśnie tak się robi, a nie samodzielnie sprawdza kody znaków. A dlaczego? Chociażby po to aby od razu było widać co na prawdę program robi. Wprawdzie wywołanie  setlocale()  nie jest konieczne, ale bez tego program może nie zadziałać poprawnie jeśli ktoś przypadkowo wpisałby znak spoza ASCII. Program działa poprawnie tylko i wyłącznie dla znaków ASCII.

Wyjaśnienie

Chciałabym kilka elementów objaśnić. A właściwie zilustrować. :) Popatrz na drugi załącznik z przykładowymi uruchomieniami tego programu.

C++ bardzo słabo obsługuje znaki spoza ASCII i coś tak banalnego jak zliczanie znaków jest w C++ tak trudne, że nawet nie umieszczam tego jako przykładu. (A na przykład w językach C# oraz Python takie zliczanie jest banalne.)

Jeżeli boisz się użyć  unsigned int,  to użyj samego  int.  Użyłam  unsigned int  ponieważ wielkości opisywane tymi akurat zmiennymi na pewno nie przyjmują wartości ujemnych.

Nie napisałeś (nie napisałaś?) jakiego środowiska/programu używasz do C++, więc komunikaty programu nie są po polsku. Nie miałam czasu napisać trzech wersji na trzy najpopularniejsze środowiska.

Zobacz obrazek 0AB
Zobacz obrazek 0AB