În acest exemplu, veți învăța să sortați 5 șiruri introduse de utilizator în ordinea lexicografică (ordinea dicționarului).
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C:
- C Matrice multidimensionale
- Șiruri de programare C
- Manipularea șirurilor în programarea C folosind funcțiile bibliotecii
Sortați șirurile în ordinea dicționarului
#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; )
Ieșire
Introduceți 5 cuvinte: programare R programare Java Java programare C programare C ++ În ordinea lexicografică: programare C programare C ++ programare Java JavaScript R programare
Pentru a rezolva acest program, este creat un șir bidimensional numit str. Șirul poate conține maximum 5
șiruri și fiecare șir poate avea maximum 50
caractere (inclusiv null
caracterul).
În program, am folosit două funcții de bibliotecă:
- strcmp () - pentru a compara șirurile
- strcpy () - pentru a copia șiruri
Aceste funcții sunt utilizate pentru a compara șirurile și a le ordona în ordinea corectă.