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

सी ++ में एम बार संयोजित सरणी से के-वें न्यूनतम तत्व खोजें


मान लें कि हमारे पास एक सरणी A है, और अन्य दो पूर्णांक K और M हैं। हमें सरणी को M संख्या से कई बार जोड़ने के बाद Kth न्यूनतम तत्व खोजना होगा। मान लीजिए कि एरे ए =[3, 1, 2], के =4 और एम =3 की तरह है, तो ए को 3 बार जोड़ने के बाद, यह [3, 1, 2, 3, 1, 2, 3, 1 होगा। , 2], चौथा सबसे छोटा तत्व यहां 2 है।

इस समस्या को हल करने के लिए, हम एरे को सॉर्ट करेंगे, फिर एरे के इंडेक्स ((के – 1)/एम) पर मौजूद वैल्यू को वापस करेंगे।

उदाहरण

#include<iostream>
#include<algorithm>
using namespace std;
int findKSmallestNumber(int A[], int N, int M, int K) {
   sort(A, A + N);
   return (A[((K - 1) / M)]);
}
int main() {
   int A[] = { 3, 1, 2 };
   int M = 3, K = 4;
   int N = sizeof(A) / sizeof(A[0]);
   cout << K << "th smallest number after concatenating " << M << " times, is: "<<findKSmallestNumber(A, N, M, K);
}

आउटपुट

4th smallest number after concatenating 3 times, is: 2

  1. C++ का उपयोग करके किसी सरणी में किसी संख्या की आवृत्ति ज्ञात करें।

    मान लीजिए कि हमारे पास एक सरणी है। एन विभिन्न तत्व हैं। हमें सरणी में एक तत्व की आवृत्ति की जांच करनी है। मान लीजिए A =[5, 12, 26, 5, 3, 4, 15, 5, 8, 4], अगर हम 5 की बारंबारता ज्ञात करने की कोशिश करते हैं, तो यह 3 होगा। इसे हल करने के लिए, हम सरणी को बाईं ओर से स्कैन करेंगे, यदि तत्व दिए गए नंबर के

  1. सी ++ में सरणी में प्रत्येक तत्व की सर्पासर गणना खोजें

    मान लीजिए कि एक सरणी A दिया गया है। हमें उस सरणी में प्रत्येक तत्व की संख्या को पार करना होगा। पार करने वाले अधिक से अधिक तत्व होते हैं जो वर्तमान तत्व की सरणी के दाईं ओर मौजूद होते हैं। मान लीजिए A ={2, 7, 5, 3, 0, 8, 1}, श्रेष्ठ हैं {4, 1, 1, 2, 0, 0}, तो 2 में दायीं ओर 4 संख्याएँ हैं, जो बड़ी हैं

  1. सी++ प्रोग्राम सरणी को विभाजित करने की विधि द्वारा kth सबसे छोटा तत्व खोजने के लिए

    हम एरे को विभाजित करने की विधि द्वारा kth सबसे छोटा तत्व खोजने के लिए एक C++ प्रोग्राम विकसित करेंगे। एल्गोरिदम Begin    Function CreatePartition() has an array a, and the lower l and upper limit h as arguments    in := l and pi := h    for i in range l to h, do