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

सरणी के तत्वों को क्रमबद्ध करें जो C++ में K के गुणकों के बीच होता है

मान लीजिए कि हमारे पास एक सरणी A है, और एक अन्य पूर्णांक K है। हमें उन तत्वों को क्रमबद्ध करना है जो K के किन्हीं दो गुणकों के बीच हैं। मान लीजिए कि A [2, 13, 3, 1, 21, 7, 8, 13, 12 जैसा है। ], और K =2. आउटपुट [2, 1, 3, 7, 13, 21, 8, 13, 12] होगा। यहां 2 का गुणज 2, 8 और 12 है, 2 और 8 के बीच के तत्व 13, 3, 1, 21, 7 हैं, उन्हें 1, 3, 7, 13, 21 के रूप में क्रमबद्ध किया जाएगा, 8 और 12 के बीच के तत्व केवल 13 है, इसलिए यह पहले से ही क्रमबद्ध है।

हमें सरणी को पार करना है, और K के गुणज का ट्रैक रखना है। फिर K के दूसरे गुणज से शुरू करते हुए, K के वर्तमान और पिछले गुणक के बीच प्रत्येक तत्व को क्रमबद्ध करें।

उदाहरण

#include <iostream>
#include <algorithm>
using namespace std;
void display(int arr[], int n) {
   for (int i = 0; i < n; i++)
   cout << arr[i] << " ";
}
void sortBetweenMultipleOfK(int arr[], int n, int k) {
   int prev_index = -1;
   for (int i = 0; i < n; i++) {
      if (arr[i] % k == 0) {
         if (prev_index != -1) //check whether that is not the first multiple of k
         sort(arr + prev_index + 1, arr + i);
         prev_index = i;
      }
   }
}
int main() {
   int arr[] = {2, 13, 3, 1, 21, 7, 8, 13, 12};
   int n = sizeof(arr) / sizeof(arr[0]);
   int k = 2;
   cout << "Before Sort: "; display(arr, n);
   sortBetweenMultipleOfK(arr, n, k);
   cout << "\nAfter Sort : "; display(arr, n);
}

आउटपुट

Before Sort: 2 13 3 1 21 7 8 13 12
After Sort : 2 1 3 7 13 21 8 13 12

  1. तत्वों की न्यूनतम संख्या जिन्हें C++ का उपयोग करके सरणी को अच्छा बनाने के लिए हटाया जाना चाहिए।

    समस्या कथन एक सरणी गिरफ्तारी को देखते हुए, कार्य सरणी को अच्छा बनाने के लिए हटाए जाने वाले तत्वों की न्यूनतम संख्या को खोजना है। अनुक्रम a1, a2, a3. . .an को अच्छा कहा जाता है यदि प्रत्येक तत्व a[i] के लिए एक तत्व a[j] (i के बराबर नहीं है) मौजूद है जैसे कि a[i] + a[j] दो की शक्ति है। arr1[] = {1,

  1. सी ++ में किसी अन्य सरणी द्वारा परिभाषित क्रम के अनुसार एक सरणी को क्रमबद्ध करें

    इस खंड में हम एक और छँटाई समस्या देखेंगे। मान लीजिए कि हमारे पास दो सरणियाँ हैं A1 और A2। हमें A1 को इस तरह से क्रमबद्ध करना है कि तत्वों के बीच सापेक्ष क्रम वही होगा जो A2 में है। यदि A2 में कुछ तत्व मौजूद नहीं हैं, तो उन्हें सॉर्ट किए गए तत्वों के बाद जोड़ा जाएगा। मान लीजिए A1 और A2 निम्नलिखित हैं

  1. सी ++ प्रोग्राम हीप सॉर्ट एल्गोरिथम का उपयोग करके 10 तत्वों की एक सरणी को सॉर्ट करने के लिए

    हीप सॉर्ट बाइनरी हीप डेटा संरचना पर आधारित है। बाइनरी हीप में पैरेंट नोड के चाइल्ड नोड्स अधिकतम हीप के मामले में उससे छोटे या उसके बराबर होते हैं, और पैरेंट नोड के चाइल्ड नोड्स मिन हीप के मामले में उससे बड़े या उसके बराबर होते हैं। हीप सॉर्ट में सभी चरणों की व्याख्या करने वाला एक उदाहरण इस प्रकार ह