समस्या
बबल सॉर्ट तकनीक का उपयोग करके उपयोगकर्ता द्वारा रनटाइम पर दिए गए नामों को वर्णानुक्रम में क्रमबद्ध करें।
समाधान
नामों को वर्णानुक्रम में मुद्रित करने के लिए उपयोग किया जाने वाला तर्क इस प्रकार है -
for (i=1; i < ITEMS; i++){ for (j=1; j <= ITEMS-i ; j++){ if (strcmp (string[j-1], string[j]) > 0){ /* Exchange of contents */ strcpy (dummy, string[j-1]); strcpy (string[j-1], string[j]); strcpy (string[j], dummy ); } } }
उदाहरण
स्ट्रिंग फ़ंक्शंस का उपयोग करके नामों को वर्णानुक्रम में क्रमबद्ध करने के लिए सी प्रोग्राम निम्नलिखित है -
#define ITEMS 5 #define MAXCHAR 20 main( ){ char string[ITEMS][MAXCHAR], dummy[MAXCHAR]; int i = 0, j = 0; /* Reading the list */ printf ("Enter names of %d items \n ",ITEMS); while (i < ITEMS) scanf ("%s", string[i++]); /* Sorting begins */ for (i=1; i < ITEMS; i++){ for (j=1; j <= ITEMS-i ; j++){ if (strcmp (string[j-1], string[j]) > 0){ /* Exchange of contents */ strcpy (dummy, string[j-1]); strcpy (string[j-1], string[j]); strcpy (string[j], dummy ); } } } printf ("\nAlphabetical list \n\n"); for (i=0; i < ITEMS ; i++) printf ("%s\n", string[i]); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्न आउटपुट उत्पन्न करता है -
Enter names of 5 items computers architecture organization microprocessor networking Alphabetical list architecture computers microprocessor networking organization