سوال ۱۱

یکی از مشکلات استفاده از تابع sort برای مرتب کردن عناصر این است که اگر عناصر ما از ساختاری باشند که داده‌های زیادی در آن ذخیره شده، عملیّات مرتب کردن کند می‌شود، چون یکی از اعمالی که در تابع sort انجام می‌شود، جابه‌جا کردن دو عنصر است؛ موقعی که تعداد بایت‌های هر کدام از اشیایی که از ساختار تعریف کرده‌ایم زیاد باشد این عمل زیاد طول می‌کشد، یک روش خوب این است که اشاره‌گرهایی به اشیا نگه داریم، سپس یک تابع برای مقایسه‌ی اشیایی که دو اشاره‌گر به آن‌ها اشاره می‌کنند بنویسیم و از آن برای مرتب کردن اشیا استفاده کنیم. ساختار زیر را در نظر بگیرید:

struct student{
   double height, mean;
   int weight,ncourse;
};

متغیّر height نشان‌دهنده‌ی قد یک دانشجو، weight نشان‌دهنده‌ی وزن یک دانشجو، mean نشان‌دهنده‌ی معدل یک دانشجو و ncourse نشان‌دهنده‌ی تعداد درس‌هایی‌است که او تا به‌حال گذرانده است.

برنامه‌ای بنویسید که اعمال زیر را انجام دهد.