Program C pentru sortarea elementelor în ordine lexicografică (ordinea dicționarului)

Î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 50caractere (inclusiv nullcaracterul).

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

Articole interesante...