সমস্যা
বাবল সোর্ট টেকনিক ব্যবহার করে ব্যবহারকারীর দেওয়া নামগুলোকে রানটাইমে বানান ক্রমে সাজান।
সমাধান
নামগুলো বানান ক্রমে প্রিন্ট করার লজিক নিম্নরূপ:
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