Porovnání textových řetězců
Téma: Ukazatele
Procvičované učivo: ukazatele, práce s textovými řetězci, funkce, cykly
Napište v jazyku C funkci int porovnej(char *t1, char *t2)
, která porovná předané textové řetězce a vrátí -1, pokud je první řetězec menší než druhý, 0, pokud jsou řetězce shodné, nebo 1, pokud je druhý řetězec menší než první. Při práci s textovými řetězci používejte výhradně ukazatele, operátor dereference a pointerovou aritmetiku.
Porovnávání řetězců by mělo být lexikografické, tj. obdobné uspořádání slov ve slovníku. Budou tedy porovnávány jednotlivé odpovídající si dvojice znaků (i-tý znak prvního řetězce s i-tým znakem druhého řetězce) počínaje prvními znaky obou řetězců, první rozdílná dvojice znaků pak určí výsledek porovnání obou řetězců. Tento způsob porovnání textových řetězců plně odpovídá funkci strcmp
.
Příklad výstupu:
Slovo "ahoj" je větší než slovo "abcde".
Povolené knihovny: stdio.h, stdlib.h
Alternativy úlohy: vytvoření jiných funkcí ze string.h: strchr, strrchr...