Програма С за сортиране на елементи в лексикографски ред (Речник на речника)

В този пример ще се научите да сортирате 5 низа, въведени от потребителя в лексикографския ред (ред на речника).

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C:

  • 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 () - за копиране на низове

Тези функции се използват за сравняване на низове и сортирането им в правилния ред.

Интересни статии...