9 Napisy
Napisz funkcję
length
, która jako argument otrzymuje napis i zwraca jako wartość jego długość. Użyj typuchar
i nie korzystaj ze wbudowanych funkcji poza operacjami wejścia/wyjścia. Stwórz przypadek testowy.Napisz funkcję
countNums
, która przyjmuje jako argument tablicę znaków typuchar
i zwraca liczbę znaków w tej tablicy, które są cyframi. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla swojej funkcji.Napisz funkcję
countVow
przyjmującą jako argument tablicę znaków typuchar
i zwracającą liczbę znaków w tej tablicy, które są samogłoskami z alfabetu łacińskiego. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
cmpStrNew
przyjmującą dwa argumenty typuchar[]
(tablice znaków) i zwracającą 1, jeśli napisy są identyczne, oraz 0 w pozostałych przypadkach. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
lexComp
przyjmującą dwa argumenty typuchar[]
(tablice znaków) i zwracającą 1, jeśli pierwszy napis jest wcześniej w porządku leksykograficznym niż drugi, oraz 0 w pozostałych przypadkach. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
toLowerNew
, która przyjmuje jako argument tablicę znaków typuchar
i zamienia w niej wszystkie duże litery na małe. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
toUpperNew
, która przyjmuje jako argument tablicę znaków typuchar
i zamienia w niej wszystkie małe litery na duże. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
strCopyNew
, która otrzymuje dwa argumenty typuchar[]
(tablice znaków): źródłową i docelową. Funkcja przepisuje napis znajdujący się w tablicy źródłowej do tablicy docelowej. Zakładamy, że w tablicy docelowej jest wystarczająco dużo miejsca. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
strNcopy
, która otrzymuje trzy argumenty: dwie tablice znakównap1
,nap2
oraz dodatnią liczbę całkowitąn
. Funkcja przekopiuje n pierwszych znaków z napisu przechowywanego w tablicynap1
do tablicynap2
. Jeśli napis w tablicynap1
jest krótszy niżn
znaków, funkcja przepisuje cały napis. Funkcja gwarantuje, że na końcu napisu w tablicynap2
znajdzie się znak null-terminujący ('\0'
). Zakładamy, że w tablicynap2
jest wystarczająco dużo miejsca. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
strConcat
, która otrzymuje jako argumenty trzy tablice znaków:nap1
,nap2
oraznap3
. Funkcja zapisuje do tablicynap3
konkatenację (połączenie) napisów znajdujących się w tablicachnap1
inap2
. Zakładamy, że w tablicynap3
jest wystarczająco dużo miejsca. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
rmLower
, która przyjmuje jako argument tablicę znaków typuchar
i usuwa z niej wszystkie znaki będące małymi literami. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
rmDigits
, która przyjmuje jako argument tablicę znaków typuchar
i usuwa z niej wszystkie znaki będące cyframi. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
cutStr
, która otrzymuje jako argumenty tablicę znaków typuchar
oraz dwie liczby całkowiten
im
, i wycina z otrzymanego napisu znaki o indeksach odn
dom
(przy założeniu, żen<m
). Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
wStrCopyNew
, która otrzymuje dwa argumenty typuwchar_t[]
(tablice znaków): źródłową i docelową. Funkcja przepisuje napis znajdujący się w tablicy źródłowej do tablicy docelowej. Zakładamy, że w tablicy docelowej jest wystarczająco dużo miejsca. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
wStrConcat
, która otrzymuje jako argumenty trzy tablice znaków:nap1
,nap2
oraznap3
(użyj typu znakowegowchar_t
). Funkcja zapisuje do tablicynap3
konkatenację (połączenie) napisów znajdujących się w tablicachnap1
inap2
. Zakładamy, że w tablicynap3
jest wystarczająco dużo miejsca. Nie korzystaj ze wbudowanych funkcji języka oprócz operacji wejścia/wyjścia. Stwórz przypadek testowy dla tej funkcji.Napisz funkcję
w16
, której argumentem jest napis. Jeśli napis zawiera inne znaki niż cyfr, to funkcja ma zwracać zero. Jeśli napis zawiera tylko cyfry, funkcja ma zwrócić liczbę całkowitą powstałą z przepisania kolejno znaków cyfr. Załóż, że napis jest długości dokładnie 3. W zadaniu nie korzystaj z funkcji bibliotecznych poza instrukcjami wejścia/wyjścia. Stwórz przypadek testowy. Wykorzystaj w rozwiązaniu typwchar_t
.Napisz funkcję
rmOdd
, której argumentem jest napis. Funkcja ma za zadanie usunąć znaki z napisu o nieparzystych indeksach. Stwórz przypadek testowy.Napisz funkcję
copyEveryThird
, której argumentem jest napis. Funkcja ma za zadanie zwrócić nowy napis, który zawiera tylko co trzeci znak z oryginalnego napisu. Stwórz przypadek testowy.
Przykład: Dla napisu "ABCXYZ"
funkcja powinna zwrócić "AX"
.
Napisz funkcję
indexLower
, której argumentem jest napis. Funkcja zwraca numer indeksu, na którym występuje pierwsza od lewej mała litera. W przypadku pustego napisu lub braku małych liter, funkcja powinna zwracać zero. W zadaniu nie korzystaj z funkcji bibliotecznych poza instrukcjami wejścia/wyjścia. Stwórz przypadek testowy.Napisz funkcję
countOdds
, której argumentem jest napis. Funkcja ma zwrócić liczbę znaków cyfr nieparzystych występujących w napisie. Stwórz przypadek testowy.