C Program til sortering af elementer i leksikografisk rækkefølge (ordbogsrækkefølge)

I dette eksempel lærer du at sortere 5 strenge, der er indtastet af brugeren i den leksikografiske rækkefølge (ordbogrækkefølge).

For at forstå dette eksempel skal du have kendskab til følgende C-programmeringsemner:

  • C Flerdimensionelle arrays
  • C Programmeringsstrenge
  • Strengmanipulationer i C-programmering ved hjælp af biblioteksfunktioner

Sorter strenge i ordbogens rækkefølge

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

Produktion

 Indtast 5 ord: R programmering JavaScript Java C programmering C ++ programmering I leksikografisk rækkefølge: C programmering C ++ programmering Java JavaScript R programmering 

For at løse dette program oprettes en todimensional streng med navnet str. Strengen kan maksimalt indeholde 5strenge, og hver streng kan maksimalt have 50tegn (inklusive nulltegnet).

I programmet har vi brugt to biblioteksfunktioner:

  • strcmp () - for at sammenligne strenge
  • strcpy () - for at kopiere strenge

Disse funktioner bruges til at sammenligne strenge og sortere dem i den rigtige rækkefølge.

Interessante artikler...