কম্পিউটার

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


এই বিভাগে আমরা দেখব কিভাবে সংখ্যাগুলিকে তাদের অঙ্কের যোগফল অনুসারে সাজাতে হয়। তাই যদি একটি সংখ্যার সংখ্যার যোগফল কম থাকে, তাহলে সেটি প্রথমে বসানো হবে, তারপরের সংখ্যাটি বড় অঙ্কের যোগফল দিয়ে বসানো হবে।

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

বাছাই করার পরে, তারা হবে −

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

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

অ্যালগরিদম

compare(num1, num2):
Begin
   if sum of digits of num1 < sum of digits of num2, then
      return 1
   return 0
End

উদাহরণ

নেমস্পেস std;int sumOfDigits(int n){ int sum =0 ব্যবহার করে
#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. জিনোম সাজানোর জন্য সি++ প্রোগ্রাম?

  3. শেকার সাজানোর জন্য C++ প্রোগ্রাম

  4. একটি প্রদত্ত সংখ্যার সংখ্যা যোগ করার জন্য C++ প্রোগ্রাম