INF.04 · pytanie 350
Pętla przedstawiona w zadaniu działa na zmiennej typu string o nazwie ciag. Jej celem jest: int i = 0; while (ciag[i] != 0) { if (ciag[i] > 96 && ciag[i] < 123) { ciag[i] = (ciag[i] - 32); } i++; }
- AOd każdego znaku w ciągu, który nie jest równy 0, odjąć kod 32.
- BZamienić w ciągu wielkie litery na małe.
- CZamienić w ciągu małe litery na wielkie.Poprawna
- DOd każdego znaku w ciągu odjąć kod 32.
Wyjaśnienie
Pętla, która zamienia małe litery na wielkie, to naprawdę fajny przykład tego, jak można operować na tekstach. W zasadzie każdy znak w napisie jest przeszukiwany, a jeśli to litera, to modyfikujemy jej kod ASCII. W praktyce dodajemy lub odejmujemy 32, żeby uzyskać odpowiednią wielką literę. Tego typu operacje wykorzystuje się w wielu miejscach, jak na przykład przy filtrowaniu danych czy normalizacji tekstu. No i oczywiście w systemach wyszukujących, gdzie wielkość liter ma znaczenie. Warto umieć zaimplementować taką pętlę, bo przydaje się w różnych aplikacjach, szczególnie tam, gdzie tekst jest kluczowy.