সমস্যা
বুদবুদ সাজানোর কৌশল ব্যবহার করে রানটাইমে ব্যবহারকারীর দেওয়া নামগুলিকে বর্ণানুক্রমিকভাবে সাজান।
সমাধান
বর্ণানুক্রমিক ক্রমে নাম মুদ্রণের জন্য ব্যবহৃত যুক্তি নিম্নরূপ -
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 );
}
}
} উদাহরণ
স্ট্রিং ফাংশন -
ব্যবহার করে একটি বর্ণানুক্রমিক ক্রমে নামগুলি সাজানোর জন্য C প্রোগ্রামটি নিচে দেওয়া হল#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