jazykc  2013.3
upoljazykc
 All Classes Files Functions Variables Typedefs Macros Pages
Macros | Functions
porovnani-textovych-retezcu.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

Go to the source code of this file.

Macros

#define TEST_STRLEN(s)   printf("strlen(\"%s\")=%d dtto up1_strlen(\"%s\")=%d\n", (s), strlen((s)), (s), up1_strlen((s)))
 

Functions

int up1_strcmp (const char *s1, const char *s2)
 
char * up1_strchr (const char *s, int c)
 
char * up1_strrchr (const char *s, int c)
 
size_t up1_strlen (const char *s)
 
int main (int argc, char *argv[])
 

Detailed Description

Ukazatele

Katedra informatiky, Univerzity Palackého v_Olomouci

   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...

Definition in file porovnani-textovych-retezcu.c.