ছাত্রদের নাম ও রোল নম্বর স্ট্রাকচারে সংরক্ষণ করে, নাম অনুযায়ী অ্যালফাবেটিক্যালি (A-Z) সাজাতে হবে। strcmp() ফাংশন ব্যবহার করে স্ট্রিং কমপেয়ার করা হয়।
স্ট্রাকচার ডেফিনিশন
struct tag {
char name[10];
int rno;
};
typedef struct tag node;
node s[5];
সর্টিং লজিক (বাবল সোর্ট)
void sort(int no) {
int i, j;
node temp;
for (i = 0; i < no-1; i++)
for (j = i+1; j < no; j++)
if (strcmp(s[i].name, s[j].name) > 0) {
temp = s[i]; s[i] = s[j]; s[j] = temp;
}
}
C কোড (সম্পূর্ণ)
#include <stdio.h>
#include <string.h>
struct tag { char name[10]; int rno; };
typedef struct tag node;
node s[5];
void sort(int no) { /* উপরের সর্ট ফাংশন */ }
int main() {
int no, i;
printf("Enter Number of Students: ");
scanf("%d", &no);
for (i = 0; i < no; i++) {
printf("Enter Name: "); scanf("%s", s[i].name);
printf("Enter Roll: "); scanf("%d", &s[i].rno);
}
sort(no);
for (i = 0; i < no; i++)
printf("%s\t%d\n", s[i].name, s[i].rno);
return 0;
}
নমুনা আউটপুট
Enter Number of Students: 5 Names: Priya, Hari, Pinky, Lucky, Krishna Sorted: Hari 5 Krishna 2 Lucky 1 Pinky 7 Priya 3