Šiame pavyzdyje išmoksite rūšiuoti 5 vartotojo įvestas eilutes leksikografine tvarka (žodyno tvarka).
Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:
- C Daugiamatės masyvai
- C programavimo eilutės
- Styginių manipuliacijos C programuojant naudojant bibliotekos funkcijas
Rūšiuoti eilutes žodyno tvarka
#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; )
Rezultatas
Įveskite 5 žodžius: R programavimas Java Java C programavimas C ++ programavimas Leksikografine tvarka: C programavimas C ++ programavimas Java Java R programavimas
Norėdami išspręsti šią programą, sukuriama dvimatė eilutė, pavadinta str. Stygoje gali būti daugiausia 5
eilučių, o kiekvienoje eilutėje gali būti daugiausia 50
simbolių (įskaitant null
simbolį).
Programoje mes panaudojome dvi bibliotekos funkcijas:
- strcmp () - palyginti eilutes
- strcpy () - kopijuoti eilutes
Šios funkcijos naudojamos eilutėms palyginti ir rūšiuoti teisinga tvarka.