Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

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

उदाहरण

#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. जीनोम सॉर्ट के लिए सी ++ प्रोग्राम?

    ग्नोम सॉर्ट एक सॉर्टिंग एल्गोरिथम है जो इंसर्शन सॉर्ट के समान है, सिवाय इसके कि किसी तत्व को उसके उचित स्थान पर ले जाना स्वैप की एक श्रृंखला द्वारा पूरा किया जाता है, जैसे बबल सॉर्ट में। Input: 53421 Output: 12345 स्पष्टीकरण सॉर्टिंग एल्गोरिदम जो किसी तत्व को उसके उचित स्थान पर ले जाता है, स्वैप की

  1. सी ++ प्रोग्राम शेकर सॉर्ट करने के लिए

    दिए गए डेटा को सॉर्ट करने के लिए शेकर सॉर्ट का उपयोग किया जाता है। बबल सॉर्ट के विपरीत, शेकर सॉर्ट, दोनों दिशाओं में सरणी को ऑर्डर करता है। इस एल्गोरिथम की सबसे खराब जटिलता O(n^2) है। एल्गोरिदम Begin    ShakerSort() function has ‘arr’ the array of data and ‘n’ the n

  1. सी ++ प्रोग्राम किसी दिए गए नंबर के अंकों का योग करने के लिए

    C++ भाषा में अंकों के योग की गणना करने के लिए यहां एक उदाहरण दिया गया है, उदाहरण #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "Enter the number : ";    cin >> x;    while (x != 0) {