কম্পিউটার টিউটোরিয়াল

C++-এ সংখ্যা গুলোকে তাদের ডিজিট সমষ্টি অনুযায়ী সর্ট করা

এই সেকশনে আমরা দেখব কীভাবে সংখ্যা গুলোকে তাদের ডিজিট সমষ্টি অনুযায়ী সর্ট করা যায়। যেটির ডিজিট সমষ্টি কম, সেটি প্রথমে থাকবে, তারপর বড় ডিজিট সমষ্টি वालা সংখ্যা থাকবে।

data = {14, 129, 501, 23, 0, 145}

সর্ট করার পর ভাব হবে -

data = {0, 14, 23, 501, 145, 129}

এখানে আমরা নিজাদের কমপারিজন লজিক তৈরি করব সর্ট করার জন্য। সেই কমপারিজন লজিকটি C++ STL-র সর্ট ফাংশনে ব্যবহার করা হবে।

অ্যালগরিদম

compare(num1, num2): 
শুরু 
    যদি num1-এর ডিজিট সমষ্টি < num2-এর ডিজিট সমষ্টি, তবে
        1 রিটার্ন করো
    0 রিটার্ন করো
শেষ

উদাহরণ (C++ কোড)

#include <iostream>
#include <algorithm>
using namespace std;

int sumOfDigits(int n) {
    int sum = 0;
    while(n) {
        sum += n % 10;
        n /= 10;
    }
    return sum;
}

int compare(int num1, int num2) {
    if(sumOfDigits(num1) < sumOfDigits(num2))
        return 1;
    return 0;
}

main() {
    int data[] = {14, 129, 501, 23, 0, 145};
    int n = sizeof(data)/sizeof(data[0]);
    sort(data, data + n, compare);
    for(int i = 0; i < n; i++) {
        cout << data[i] << " ";
    }
}

আউটপুট

0 14 23 501 145 129
  1. C++-এ অন্য একটি অ্যারের অর্ডার অনুযায়ী অ্যারে সর্ট করা

  2. Gnome Sort অ্যালগরিদম (C++)

  3. শেকার সার্ট বাস্তবায়ন করার C++ প্রোগ্রাম

  4. C++-এ দেওয়া সংখ্যার ডিজিটগুলোর যোগফল বের করা