Program C do sortowania elementów w porządku leksykograficznym (kolejność słownikowa)

W tym przykładzie nauczysz się sortować 5 ciągów znaków wprowadzonych przez użytkownika w porządku leksykograficznym (porządek słownikowy).

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w C:

  • C Tablice wielowymiarowe
  • C ciągi programowania
  • Manipulacje na łańcuchach w programowaniu w C przy użyciu funkcji bibliotecznych

Sortuj ciągi w kolejności słownikowej

 #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; )

Wynik

 Wpisz 5 słów: Programowanie R JavaScript Programowanie Java Programowanie w C ++ W porządku leksykograficznym: Programowanie w C Programowanie w C ++ Programowanie w języku Java Programowanie w języku JavaScript R 

Aby rozwiązać ten program, tworzony jest dwuwymiarowy ciąg o nazwie str. Ciąg może zawierać maksymalnie 5ciągi, a każdy ciąg może zawierać maksymalnie 50znaków (łącznie ze nullznakiem).

W programie wykorzystaliśmy dwie funkcje biblioteczne:

  • strcmp () - aby porównać łańcuchy
  • strcpy () - aby skopiować łańcuchy

Te funkcje służą do porównywania ciągów i sortowania ich we właściwej kolejności.

Interesujące artykuły...