Strona główna » Kursy » Zadania » Zestaw Zadań Ciągi znaków
 

Zestaw Zadań Ciągi znaków

Wstęp

Poniższy zestaw zadań ma za zadanie sprawdzić wiedzę dotyczącą operacji na ciągach znaków. Zadania zostały posortowane względem poziomu trudności. Zadania powinny być wykonywane w przedstawionej kolejności, ponieważ część zadań łączy się z poprzednimi.

Założenia

  1. W zadaniach przyjmujemy, że znaki są indeksowane od 0
  2. Każda funkcja powinna zostać przetestowana
  3. Wszystkie napisane funkcje powinny rzucać wyjątek Niepoprawne dane jeśli wprowadzone dane są nieprawidłowe

Zadania

Zadanie 1

Napisz funkcje zamienNaMałe(), która zamieni wszystkie litery w podan tablicy znaków s na małe litery alfabetu łacińskiego. Napisz również funkcję zamienNaDuze(), która będzie zamieniać wszystkie litery w tablicy znaków s na duże. Zakładamy, że znaki inne niż litery nie modyfikujemy.

Przykładowo dla funkcji zamienNaMałe() dla podania s = "Kota ma Ala" poprawnym wynikiem jest "kota ma ala", a w przypadku funkcji zamienNaDuze() dla tego samego argumentu s wynikiem powinno być "KOTA MA ALA".

Zadanie 2

Napisz funkcję jakwZdaniu(), która zamieni wszystkie pierwsze litery każdego wyrazu w tablicy znaków s na duże, a pozostałe na małe.

Przykładowo dla nieczytelnego tekstu s = "hOKUs PoKuS" funkcja powinna zmodyfikować podany tekst na "Hokus Pokus".

Zadanie 3

Napisz funkcję zlacz(), która zwróci nową tablicę znaków, gdzie zostaną po kolei zapisane tablicę znaków ze słowami s1, a potem s2.

Przykładowo jeśli podane zostaną wyrażenia s1 = "Hokus", s2 = "Pokus" poprawnym wynikiem będzie "HokusPokus".

Zadanie 4

Napisz funkcję wplec(), która zwróci nową tablicę znaków, gdzie co druga litera pochodzi z innego tekstu. Zakładamy, ze w przypadku, gdy w jednym wyrazie skończą się litery to wystarczy przepisać do końca wyraz dłuższy.

Przykładowo jeśli podane zostaną wyrażenia s1 = "hokus pokus", s2 = "abrakadabra" poprawnym wynikiem będzie "haobkruask apdoakbursa". Innym przykładem jest s1 = "jeden", s2 = "dwa" kiedy prawidłowym wynikiem jest "jdewdaen".

Uwagi do zadań 5. - 8.

W następnych zadaniach przyjmuje się, że pierwszy wyraz ma indeks 1, a jako wyraz przyjmujemy dowolny ciąg znaków złożony z małych i dużych liter alfabetu łacińskiego.

Zadanie 5

Napisz funkcję policzWyrazy(), która zliczy ile jest wyrazów w podanym wyrażeniu s.

Przykładowo dla s = "ala ma kota" funkcja powinna zwrócić 3.

Zadanie 6

Napisz funkcję usunWyraz(), które usunie z podanego wyrażenia s k-ty wyraz i wszystkie nie znaki nie litery po nim do najbliższego wyrazu.

Przykładowo dla s = "ala ma kota" i k = 2 funkcja powinna zmienić tekst s na "ala kota", a k = 3 funkcja zwróci "al ma ".

Zadanie 7

Napisz funkcję zamienWyrazy(), która w podanym wrażeniu s zamieni wyraz pod indeksem a z wyrazem pod indeksem b.

Przykładowo dla s = "ala ma kota", a = 1 i b = 3 funkcja powinna zmienić tekst s na "kota ma ala".

Zadanie 8

Napisz funkcję tasujWyrazy(), która w podanym wyrażeniu s zamieni kolejność wyrazów na losową, a następnie zwróci nowy ciąg znaków.

Przykładowo dla s = "ala ma kota" funkcja może przykładowo zwrócić "ma kota ala".