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 5
ciągi, a każdy ciąg może zawierać maksymalnie 50
znaków (łącznie ze null
znakiem).
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.