У цьому прикладі ви навчитеся сортувати 5 рядків, введених користувачем у лексикографічному порядку (словниковий порядок).
Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування на С:
- C Багатовимірні масиви
- C Програмування рядків
- Струнні маніпуляції в програмуванні на C із використанням бібліотечних функцій
Сортування рядків у порядку словника
#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; )
Вихідні дані
Введіть 5 слів: R програмування JavaScript Java програмування C ++ програмування C ++ У лексикографічному порядку: програмування C програмування C ++ Java JavaScript програмування R
Для вирішення цієї програми створюється двовимірний рядок з назвою str. Рядок може містити максимум 5
рядків, і кожен рядок може містити максимум 50
символів (включаючи null
символ).
У програмі ми використовували дві функції бібліотеки:
- strcmp () - для порівняння рядків
- strcpy () - для копіювання рядків
Ці функції використовуються для порівняння рядків та сортування їх у правильному порядку.