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

सी ++ में एक क्रमबद्ध सरणी का वर्ग

क्रमबद्ध पूर्णांकों के दिए गए सरणी में, कार्य प्रत्येक सरणी तत्व के वर्गों को प्रिंट करना और क्रमबद्ध क्रम में सरणी को प्रिंट करना है। उदाहरण के लिए,

इनपुट-1 -

arr[ ] = { -3,-1,0,1,4,6 };

आउटपुट -

{0,1,1,9,16, 36}

स्पष्टीकरण - दिए गए सरणी [-3, -1,0,1,4,6] के प्रत्येक तत्व का वर्ग [0,1,1,9,16,36] है।

इनपुट-2 -

arr[ ]= { 0,1,2,8,9 }

आउटपुट -

{0,1,4,64,81}

स्पष्टीकरण - दिए गए सरणी [ 0,1,2,8,9 ] के प्रत्येक तत्व का वर्ग [ 0,1,4,64,81 ] है।

इस समस्या को हल करने का तरीका

इस विशेष समस्या को हल करने के लिए, हम टू-पॉइंटर दृष्टिकोण का उपयोग कर सकते हैं। टू-पॉइंटर में हम बाएँ और दाएँ दो पॉइंटर्स का उपयोग करते हैं। सरणी के पहले तत्व के साथ आरंभ किया गया बायां सूचक और दायां सूचक सरणी के अंतिम तत्व की ओर इशारा करता है।

सरणी के तत्वों पर पुनरावृति करते हुए हम मान का वर्ग पाएंगे और जांचेंगे कि दाएं पूर्णांक का वर्ग बाएं पूर्णांक से बड़ा है या कम।

  • बढ़ते क्रम में पूर्णांकों की एक सरणी इनपुट करें।

  • एक पूर्णांक फ़ंक्शन वर्गAndSort(int *arr, int n) पूर्णांकों की एक सरणी के रूप में इनपुट लेता है और सरणी के प्रत्येक तत्व के वर्ग को क्रमबद्ध तरीके से लौटाता है।

  • सरणी के बाएँ और दाएँ तत्व के साथ बाएँ और दाएँ दो बिंदुओं को प्रारंभ करें।

  • तत्व के वर्ग को प्रिंट करें और इसकी तुलना सही तत्व के वर्ग से करें।

  • बाएँ और दाएँ सूचक को तदनुसार बढ़ाएँ और घटाएँ।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
vector<int> squareAndSort(vector<int>&arr){
   int left= 0;
   int right= arr.size()-1;
   vector<int>vec;
   while(left<=right){
      while(left <= right) {
         int v1 = arr[left]*arr[left];
         int v2 = arr[right]*arr[right];
         if(v1 <= v2) {
            vec.push_back(v2);
            right--;
         }
         else {
            vec.push_back(v1);
            left++;
         }
      }
      reverse(vec.begin(), vec.end());
   }
   return vec;
}
int main(){
   vector<int>arr= {-3,-1,0,1,4,6};
   vector<int>ans= squareAndSort(arr);
   for(auto x:ans){
      cout<<x<<" ";
   }
   return 0;
}

आउटपुट

उपरोक्त कोड को चलाने से आउटपुट इस प्रकार उत्पन्न होगा,

0 1 1 9 16 36

सरणी के प्रत्येक तत्व का वर्ग 9,1,0,1,16,36 है। इन तत्वों को छाँटने के बाद, आउटपुट 0 1 1 9 16 36 होगा।


  1. सी ++ स्ट्रिंग्स की सरणी

    इस खंड में हम देखेंगे कि C++ में स्ट्रिंग्स की एक सरणी को कैसे परिभाषित किया जाए। जैसा कि हम जानते हैं कि सी में कोई तार नहीं था। हमें कैरेक्टर ऐरे का उपयोग करके स्ट्रिंग्स बनाना है। इसलिए स्ट्रिंग्स की कुछ सरणी बनाने के लिए, हमें वर्णों की एक 2-आयामी सरणी बनानी होगी। प्रत्येक पंक्तियाँ उस मैट्रिक्स

  1. सी++ में छँटाई

    इस खंड में हम देखेंगे कि C++ में सॉर्टिंग एल्गोरिथम कैसे किया जाता है। एक क्रमबद्ध सरणी एक सरणी है जिसमें प्रत्येक तत्व को किसी क्रम में क्रमबद्ध किया जाता है जैसे संख्यात्मक, वर्णानुक्रम आदि। संख्यात्मक सरणी को सॉर्ट करने के लिए कई एल्गोरिदम हैं जैसे कि बबलसॉर्ट, इंसर्शन सॉर्ट, सेलेक्शन सॉर्ट, मर्ज

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

    एक क्रमबद्ध सरणी एक सरणी है जिसमें प्रत्येक तत्व को किसी क्रम में क्रमबद्ध किया जाता है जैसे संख्यात्मक, वर्णानुक्रम आदि। संख्यात्मक सरणी को सॉर्ट करने के लिए कई एल्गोरिदम हैं जैसे बबल सॉर्ट, इंसर्शन सॉर्ट, सेलेक्शन सॉर्ट, मर्ज सॉर्ट, क्विक सॉर्ट, ढेर सॉर्ट आदि। चयन सॉर्ट का उपयोग करके सरणी को सॉर्ट