Program C pro třídění prvků v lexikografickém pořadí (pořadí slovníku)

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ě 50znaků (včetně nullznaku).

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

Zajímavé články...