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

C++ में इनबिल्ट सॉर्ट फ़ंक्शन का उपयोग करके सकारात्मक और नकारात्मक संख्याओं को पुनर्व्यवस्थित करें

हमें एक पूर्णांक प्रकार की सरणी दी गई है जिसमें धनात्मक और ऋणात्मक दोनों संख्याएँ हैं, मान लीजिए, किसी भी आकार का arr[]। कार्य एक सरणी को इस तरह से पुनर्व्यवस्थित करना है कि एक सरणी के सभी तत्वों को सी ++ एसटीएल के इनबिल्ट सॉर्ट फ़ंक्शन के साथ-साथ कोडिंग और परिणाम को प्रिंट करने की पुनरावर्ती तकनीक का उपयोग करके क्रमबद्ध किया जाता है।

आइए इसके लिए विभिन्न इनपुट आउटपुट परिदृश्य देखें -

इनपुट - int arr[] ={4, 2, -1, -1, 6, -3, 0}

आउटपुट - इनबिल्ट सॉर्ट फ़ंक्शन का उपयोग करके सकारात्मक और नकारात्मक संख्याओं की पुनर्व्यवस्था है:-3 -1 -1 0 2 4 6.

स्पष्टीकरण - हमें आकार 7 का एक पूर्णांक सरणी दिया गया है जिसमें सकारात्मक और नकारात्मक दोनों तत्व हैं। अब, हम सरणी को इस तरह से पुनर्व्यवस्थित करेंगे कि एक सरणी के सभी तत्वों को क्रमबद्ध किया जाता है यानी सभी नकारात्मक तत्व सभी सकारात्मक तत्वों से पहले दिखाई देते हैं और अंतिम परिणाम -3 -1 -1 0 2 4 6 होगा।

इनपुट - int arr[] ={-9, -10, 2, 3, 10, 5, 8, 4}

आउटपुट - इनबिल्ट सॉर्ट फ़ंक्शन का उपयोग करके सकारात्मक और नकारात्मक संख्याओं की पुनर्व्यवस्था है:-10 -9 2 3 4 5 8 10.

स्पष्टीकरण - हमें आकार 8 का एक पूर्णांक सरणी दिया जाता है जिसमें सकारात्मक और नकारात्मक दोनों तत्व होते हैं। अब, हम सरणी को इस तरह से पुनर्व्यवस्थित करेंगे कि एक सरणी के सभी तत्वों को क्रमबद्ध किया जाता है यानी सभी नकारात्मक तत्व सभी सकारात्मक तत्वों से पहले दिखाई देते हैं और अंतिम परिणाम -10 -9 2 3 4 5 8 10 होगा। पी>

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

सॉर्ट का उपयोग करना ()

  • पूर्णांक प्रकार के तत्वों की एक सरणी इनपुट करें और एक सरणी के आकार की गणना करें।

  • फ़ंक्शन को डेटा पास करें पुनर्व्यवस्था(int arr[], int size)

  • फ़ंक्शन के अंदर, पुनर्व्यवस्था (int arr[], int size)

    • फ़ंक्शन के पैरामीटर के रूप में सरणी के आकार और सरणी को पास करके सी ++ एसटीएल के सॉर्ट फ़ंक्शन को कॉल करें और यह सॉर्ट किए गए सरणी को वापस कर देगा।

  • परिणाम प्रिंट करें।

पुनरावृत्ति का उपयोग करना

  • पूर्णांक प्रकार के तत्वों की एक सरणी इनपुट करें और एक सरणी के आकार की गणना करें।

  • एक अस्थायी चर घोषित करें, मान लें, अस्थायी।

  • एक सरणी के आकार से कम के लिए i से i तक के लिए लूप प्रारंभ करें। लूप के अंदर, जांचें कि क्या arr[i] 0 से कम है, फिर टेम्परेचर को 1 से बढ़ाएं।

  • फ़ंक्शन के पैरामीटर के रूप में सरणी, 0, और आकार -1 पास करके पुनर्व्यवस्था (गिरफ्तारी, 0, (आकार -1)) को कॉल करें।

  • फ़ंक्शन में सरणी, अस्थायी और आकार -1 पास करके रोटेट फ़ंक्शन को कॉल करें।

  • समारोह के अंदर पुनर्व्यवस्था (int arr[], int first, int last)

    • जांचें कि IF पहले बराबर है फिर वापस आएं।

    • फ़ंक्शन के लिए एक पुनरावर्ती कॉल करें पुनर्व्यवस्था () और पास सरणी, पहले + 1 और अंतिम तत्व एक पैरामीटर के रूप में।

    • IF arr[first] 0 से अधिक की जाँच करें, फिर फ़ंक्शन को Rotate(arr, (first + 1), last) और Rotate(arr, first, last)

      के रूप में कॉल करें।
  • फंक्शन के अंदर रोटेट करें (इंट एआर [], इंट फर्स्ट, इंट लास्ट)

    • प्रारंभ करें जबकि पहले अंतिम से कम। थोड़ी देर के अंदर, पूर्णांक चर को अस्थायी घोषित करें और इसे एआर [पहले] के साथ सेट करें, फिर एआर [पहले] को एआर [आखिरी] और एआर [आखिरी] को अस्थायी पर सेट करें। पहले को 1 से बढ़ाएं और आखिरी को 1 से घटाएं। /पी>

  • परिणाम प्रिंट करें।

<एच2>1. सॉर्ट () फ़ंक्शन का उपयोग करना

उदाहरण

#include <bits/stdc++.h>
using namespace std;
//using the sort() function
void Rearrangement(int arr[], int size){
   sort(arr, arr + size);
}
int main(){
   int arr[] = {4, 2, -1, -1, 6, -3, 0};
   int size = sizeof(arr)/sizeof(arr[0]);
   //calling the function to rearrange the array
   Rearrangement(arr, size);
   //print the array after rearranging the values
   cout<<"Rearrangement of positive and negative numbers using inbuilt sort function is: ";
   for(int i = 0; i < size; i++){
      cout<< arr[i] << " ";
   }
   return 0;
}

आउटपुट

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

Rearrangement of positive and negative numbers using inbuilt sort function is: -3 -1 -1 0 2 4 6

2. किसी फ़ंक्शन के लिए पुनरावर्ती कॉल

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void Rotate(int arr[], int first, int last){
   while(first < last){
      int temp = arr[first];
      arr[first] = arr[last];
      arr[last] = temp;
      first++;
      last--;
   }
}
void Rearrangement(int arr[], int first, int last){
   if(first == last){
      return;
   }
   Rearrangement(arr, (first + 1), last);
   if(arr[first] >= 0){
      Rotate(arr, (first + 1), last);
      Rotate(arr, first, last);
   }
}
int main(){
   int arr[] = {4, 2, -1, -1, 6, -3, 0};
   int size = sizeof(arr)/sizeof(arr[0]);
   int temp = 0;
   for(int i = 0; i < size; i++){
      if(arr[i] < 0){
         temp++;
      }
   }
   //calling the function to rearrange the array
   Rearrangement(arr, 0, (size - 1));
   Rotate(arr, temp, (size - 1));
   //print the array after rearranging the values
   cout<<"Rearrangement of positive and negative numbers using Recursion is: ";
   for(int i = 0; i < size; i++){
      cout<< arr[i] << " ";
   }
   return 0;
}

आउटपुट

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

Rearrangement of positive and negative numbers using Recursion is: -1 -1 -3 4 2 6 0

  1. C++ फ़ंक्शन में 2D सरणी पास करना

    किसी फ़ंक्शन को तर्क के रूप में Arrays को पारित किया जा सकता है। इस कार्यक्रम में, हम 2 आयामी सरणी के तत्वों को एक फ़ंक्शन में पास करके प्रदर्शित करने के लिए प्रदर्शन करेंगे। एल्गोरिदम Begin The 2D array n[][] passed to the function show(). Call function show() function, the array n (n) is tra

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

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

  1. एक सी ++ फ़ंक्शन में एक सरणी पास करना

    C++ फ़ंक्शन के तर्क के रूप में संपूर्ण सरणी को पारित करने की अनुमति नहीं देता है। हालांकि, आप किसी इंडेक्स के बिना ऐरे का नाम निर्दिष्ट करके किसी ऐरे को पॉइंटर पास कर सकते हैं। यदि आप किसी फ़ंक्शन में एक एकल-आयाम सरणी को तर्क के रूप में पास करना चाहते हैं, तो आपको निम्नलिखित तीन तरीकों में से एक मे