V tomto príklade sa naučíte triediť 5 reťazcov zadaných používateľom v lexikografickom poradí (poradí slovníka).
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku C:
- C Multidimenzionálne polia
- C Programovacie reťazce
- Manipulácie s reťazcami v programovaní C pomocou knižničných funkcií
Zoradiť reťazce v poradí slovníkov
#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ýkon
Zadajte 5 slov: Programovanie R JavaScript Programovanie Java C Programovanie C ++ V lexikografickom poradí: Programovanie C Programovanie C ++ Programovanie Java JavaScript R
Na vyriešenie tohto programu sa vytvorí dvojrozmerný reťazec s názvom str. Reťazec môže obsahovať najviac 5
reťazcov a každý reťazec môže mať najviac 50
znakov (vrátane null
znaku).
V programe sme použili dve knižničné funkcie:
- strcmp () - na porovnanie reťazcov
- strcpy () - na kopírovanie reťazcov
Tieto funkcie sa používajú na porovnanie reťazcov a ich triedenie v správnom poradí.