কম্পিউটার

নাম বা স্ট্রিংগুলির একটি অ্যারে সাজানোর জন্য সি প্রোগ্রাম


এই সমস্যায়, আমরা স্ট্রিং এর একটি অ্যারে দেওয়া হয়. আমাদের কাজ হল নাম বা স্ট্রিং এর অ্যারে সাজানোর জন্য একটি সি প্রোগ্রাম তৈরি করা। এই প্রোগ্রামটি আমরা ইনপুটে দেওয়া সমস্ত নামগুলিকে ক্রমবর্ধমান বর্ণানুক্রমিকভাবে সাজাতে হবে৷

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

namesArray = ["Rishabh", "Jyoti", "Palak", "Akash"]

আউটপুট

["Akash", "jyoti", "palak", "Rishabh"]

এটি সমাধান করার জন্য আমরা স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরির qsort() ফাংশন ব্যবহার করব কারণ আমরা জানি পূর্ণসংখ্যার মান বাছাই করার বিষয়টি এখানে পরিবর্তন হয় তা হল আমরা পূর্ণসংখ্যার মানের পরিবর্তে তুলনা করার জন্য স্ট্রিং বিবেচনা করছি।

সুতরাং, qsort() তে ব্যবহৃত তুলনাকারী পরিবর্তন করা হবে, এবং strcmp() তুলনাকারীর স্ট্রিংগুলি তুলনা করতে ব্যবহার করা হবে। এটি ব্যবহার করে আমরা নাম বা স্ট্রিং এর অ্যারে সাজাতে পারি।

নাম বা স্ট্রিংগুলির একটি অ্যারে সাজানোর জন্য সি প্রোগ্রাম

উদাহরণ

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static int comparator(const void* str1, const void* str2) {
   if(strcmp(*(const char**)str1, *(const char**)str2) >= 0)
      return 1;
   else return 0;
}
int main() {
   const char* arr[] = {"Rishabh", "Jyoti", "Palak", "Akash"};
   int n = sizeof(arr) / sizeof(arr[0]);
   printf("\nGiven array of names: \t");
   for (int i = 0; i < n; i++) printf("%s \t", arr[i]);
      qsort(arr, n, sizeof(const char*), comparator);
   printf("\nSorted array of names: \t");
   for (int i = 0; i < n; i++)
      printf("%s \t", arr[i]);
   return 0;
}

আউটপুট

Given array of names:  Rishabh Jyoti Palak Akash
Sorted array of names: Akash   Jyoti Palak Rishabh

  1. রিভার্স অ্যারে করার জন্য একটি সি প্রোগ্রাম লিখুন

  2. রেডিক্স সাজানোর জন্য সি প্রোগ্রাম

  3. গণনা সাজানোর জন্য পাইথন প্রোগ্রাম

  4. পাইথন প্রোগ্রামে সন্নিবেশ বাছাই