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

क्रमबद्ध सरणी में दिए गए मान से छोटे या बराबर तत्वों की गणना करें C++ में


हमें पूर्णांकों की एक सरणी दी गई है। लक्ष्य सरणी के उन तत्वों की संख्या ढूंढना है जो दिए गए मान K से कम या बराबर हैं।

इनपुट

Arr[]= { 1, 2, 3, 14, 50, 69, 90 } K=12

आउटपुट

K से छोटे या बराबर संख्याएं: 3

व्याख्या

संख्याएं 1,2,3, 12 से छोटी या बराबर हैं।

इनपुट

Arr[]= { 12, 13, 13, 13, 14, 50, 54, 100 } K=14

आउटपुट

K से छोटे या बराबर संख्याएं: 5

व्याख्या

संख्याएं 12, 13, 14, 14 से छोटी या बराबर हैं।

सामान्य दृष्टिकोण

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • हम पूर्णांक सरणी Arr[] और K लेते हैं।

  • फ़ंक्शन smallorEqual(int arr[],int k,int len) arr[] के उन तत्वों की संख्या लौटाता है जो K से छोटे या बराबर हैं।

  • प्रारंभिक चर count को 0 से आरंभ करें ऐसी संख्याओं के लिए।

  • फॉर लूप का उपयोग करके संख्याओं की सरणी को पार करें। i=0 से i

  • अब प्रत्येक संख्या arr[i] के लिए, यदि यह <=k है, तो काउंट बढ़ाएं।

  • लूप के अंत में काउंट में शर्त को पूरा करने वाली कुल संख्या होगी।

  • काउंट को परिणाम के रूप में लौटाएं।

उदाहरण

#include <bits/stdc++.h> using namespace std; int smallorEqual(int arr[],int k,int len){    int count = 0;    for (int i = 0; i < len; i++){       if(arr[i]<=k)          { count++; }       else          { break; }    }    return count; } int main(){    int Arr[] = { 1,5,11,12,19,21,32,53,70,100 };    int K = 21;    int Length= sizeof(Arr)/sizeof(Arr[0]);    cout <<"K से छोटे या बराबर संख्याएं: "<<smallorEqual(Arr,K,Length);    return 0; }

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

K से छोटे या बराबर संख्याएं: 6

कुशल दृष्टिकोण (बाइनरी खोज का उपयोग करके)

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • हम पूर्णांक सरणी Arr[] और K लेते हैं।

  • फ़ंक्शन binarySearch(int arr[],int k,int len) arr[] के उन तत्वों की संख्या लौटाता है जो K से छोटे या बराबर हैं।

  • इंडेक्स low=0, high=len-1 और mid=(low+high)/2 लें।

  • चर index=-1 लें।

  • व्हाइल लूप का उपयोग करके, जब तक low<=high

  • arr[mid] का मान जांचें। यदि यह <= k है। तो index=mid। नया low=mid+1

  • अन्यथा नया high=mid-1।

  • व्हाइल लूप के अंत में index, अंतिम संख्या <=k का इंडेक्स होगा।

  • index+1 को परिणाम के रूप में लौटाएं क्योंकि सरणी इंडेक्सिंग 0 से शुरू होती है और इंडेक्स 0 से index तक सभी संख्याएं k से कम हैं।

उदाहरण

#include <bits/stdc++.h> using namespace std; int binarySearch(int arr[],int k,int len){    int low = 0;    int high = len -1;    int mid = (high+low)/2;    int index = -1;    while(low <= high){       mid =( low + high ) / 2;       if(arr[mid] <= k){          index = mid;          low = mid+1;       }       else{          high=mid-1;       }    }    return (index+1); } int main(){    int Arr[] = { 1,5,11,12,19,21,32,53,70,100 };    int K = 21;    int Length= sizeof(Arr)/sizeof(Arr[0]);    cout <<"K से छोटे या बराबर संख्याएं: "<<binarySearch(Arr,K,Length);    return 0; }

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

K से छोटे या बराबर संख्याएं: 6

  1. - C++ में सरणी के सभी तत्वों को बराबर बनाने के लिए न्यूनतम ऑपरेशन

    समस्या कथनn धनात्मक पूर्णांकों वाली एक सरणी दी गई है। हमें सभी तत्वों को बराबर बनाने के लिए न्यूनतम ऑपरेशन की संख्या ज्ञात करनी है। हम सरणी तत्व पर किसी भी तत्व के साथ जोड़, गुणा, घटाव या भाग कर सकते हैं।उदाहरणयदि इनपुट सरणी = {1, 2, 3, 4} है तो हमें सभी तत्वों को बराबर बनाने के लिए न्यूनतम 3 ऑपरेशन

  1. - C++ में सरणी के सभी तत्वों को बराबर बनाने के लिए न्यूनतम ऑपरेशन

    समस्या कथनn धनात्मक पूर्णांकों वाली एक सरणी दी गई है। हमें सभी तत्वों को बराबर बनाने के लिए न्यूनतम ऑपरेशन की संख्या ज्ञात करनी है। हम सरणी तत्व पर किसी भी तत्व के साथ जोड़, गुणा, घटाव या भाग कर सकते हैं।उदाहरणयदि इनपुट सरणी = {1, 2, 3, 4} है तो हमें सभी तत्वों को बराबर बनाने के लिए न्यूनतम 3 ऑपरेशन

  1. - C++ में रोटेटेड सॉर्टेड सरणी में रोटेशन काउंट ढूंढना

    मान लीजिए हमारे पास एक सरणी है, जो रोटेटेड सॉर्टेड सरणी है। हमें उन रोटेशन की संख्या ढूंढनी है जो सरणी को सॉर्ट करने के लिए आवश्यक हैं। (हम रोटेशन दाएं से बाएं मानेंगे।)मान लीजिए सरणी ऐसी है: {15, 17, 1, 2, 6, 11}, तो हमें सरणी को दो बार रोटेट करना होगा ताकि यह सॉर्ट हो जाए। अंतिम क्रम {1, 2, 6, 11,