ছাত্রের রেকর্ড (student_id, student_name, student_percentage) স্ট্রাকচার দিয়ে সংরক্ষণ করে qsort() এবং strcmp() ব্যবহার করে নাম অনুযায়ী সর্ট করতে হবে।
উদাহরণ
ইনপুট: ৫ জন ছাত্রের রেকর্ড
আউটপুট: নাম অনুযায়ী সর্টেড রেকর্ড (Akash, Jyoti, Nupur, Ramlal, Yash)
পদ্ধতি
- struct Student { int id; char* name; int percentage; }।
- qsort() এর কমপারেটর ফাংশনে strcmp() ব্যবহার করা হয়।
- qsort(arr, n, sizeof(struct Student), comparator) কল করা হয়।
C প্রোগ্রাম উদাহরণ
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Student {
int student_id;
char* student_name;
int student_percentage;
};
int comparator(const void* s1, const void* s2) {
return strcmp(((struct Student*)s1)->student_name,
((struct Student*)s2)->student_name);
}
int main() {
int n = 5;
struct Student arr[n];
arr[0] = (struct Student){1, "Nupur", 98};
arr[1] = (struct Student){2, "Akash", 75};
arr[2] = (struct Student){3, "Yash", 62};
arr[3] = (struct Student){4, "Jyoti", 87};
arr[4] = (struct Student){5, "Ramlal", 80};
printf("Unsorted:\n");
for (int i=0;i
আউটপুট
Unsorted:
Id=1, Name=Nupur, %d=98
Id=2, Name=Akash, %d=75
Id=3, Name=Yash, %d=62
Id=4, Name=Jyoti, %d=87
Id=5, Name=Ramlal, %d=80
Sorted by Name:
Id=2, Name=Akash, %d=75
Id=4, Name=Jyoti, %d=87
Id=1, Name=Nupur, %d=98
Id=5, Name=Ramlal, %d=80
Id=3, Name=Yash, %d=62