V tomto příkladu se naučíte řadit 5 řetězců zadaných uživatelem v lexikografickém pořadí (pořadí slovníku).
Abychom pochopili tento příklad, měli byste mít znalosti o následujících programovacích tématech jazyka C:
- C Multidimenzionální pole
- C Programovací řetězce
- Manipulace s řetězci v programování C pomocí knihovních funkcí
Řazení řetězců v pořadí slovníku
#include #include int main() ( char str(5)(50), temp(50); printf("Enter 5 words: "); // Getting strings input for (int i = 0; i < 5; ++i) ( fgets(str(i), sizeof(str(i)), stdin); ) // storing strings in the lexicographical order for (int i = 0; i < 5; ++i) ( for (int j = i + 1; j 0) ( strcpy(temp, str(i)); strcpy(str(i), str(j)); strcpy(str(j), temp); ) ) ) printf("In the lexicographical order: "); for (int i = 0; i < 5; ++i) ( fputs(str(i), stdout); ) return 0; )
Výstup
Zadejte 5 slov: R programování JavaScript Java C programování C ++ programování V lexikografickém pořadí: C programování C ++ programování Java JavaScript R programování
K vyřešení tohoto programu je vytvořen dvourozměrný řetězec s názvem str. Řetězec může obsahovat maximálně 5
řetězce a každý řetězec může mít maximálně 50
znaků (včetně null
znaku).
V programu jsme použili dvě knihovnické funkce:
- strcmp () - porovnání řetězců
- strcpy () - pro kopírování řetězců
Tyto funkce se používají k porovnání řetězců a řazení ve správném pořadí.