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

C++ में निरंतर अतिरिक्त स्थान के साथ धनात्मक और ऋणात्मक संख्याओं को पुनर्व्यवस्थित करें

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

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

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

आउटपुट - निरंतर अतिरिक्त स्थान के साथ धनात्मक और ऋणात्मक संख्याओं की पुनर्व्यवस्था है:-3 -1 -1 0 6 2 4.

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

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

आउटपुट - निरंतर अतिरिक्त स्थान के साथ धनात्मक और ऋणात्मक संख्याओं की पुनर्व्यवस्था है:-9 -10 2 3 10 5 8 4

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

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

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

  • FOR लूप का उपयोग करके पुनर्व्यवस्था क्रिया करने से पहले एक सरणी प्रिंट करें।

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

  • समारोह के अंदर पुनर्व्यवस्था (गिरफ्तारी, आकार)

    • एक पूर्णांक प्रकार चर को i से 0 और j को आकार -1 के रूप में घोषित करें।

    • प्रारंभ करें जबकि (सत्य)। थोड़ी देर के अंदर, एक और लूप शुरू करें जबकि arr[i] 0 से कम और i आकार से कम है, फिर i को 1 से बढ़ाएं।

    • प्रारंभ करें जबकि arr[j] 0 से अधिक और j 0 से अधिक है, फिर j को 1 से घटाएं।

    • जाँच करें कि IF i j से कम है, तो अस्थायी को arr[i], arr[i] से arr[j] और arr[j] को temp पर सेट करें।

    • अन्यथा, विराम।

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

उदाहरण

#include<iostream>
using namespace std;
void Rearrangement(int arr[], int size){
   int i = 0;
   int j = size - 1;
   while(true){
      while(arr[i] < 0 && i < size){
         i++;
      }
      while(arr[j] > 0 && j >= 0){
         j--;
      }
      if (i < j){
         int temp = arr[i];
         arr[i] = arr[j];
         arr[j] = temp;
      }
      else{
         break;
      }
   }
}
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 with constant extra space is: ";
   for(int i = 0; i < size; i++){
      cout<< arr[i] << " ";
   }
   return 0;
}

आउटपुट

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

Rearrangement of positive and negative numbers with constant extra space is: -3 -1 -1 0 6 2 4

  1. जांचें कि क्या सरणी तत्व ओ (एन) समय में लगातार हैं और ओ (1) स्पेस (सकारात्मक और नकारात्मक दोनों संख्याओं को संभालता है) पायथन में

    मान लीजिए कि हमारे पास बिना क्रमित संख्याओं की एक सरणी है जिसे अंक कहा जाता है। हमें यह जांचना होगा कि इसमें सन्निहित मान हैं या नहीं, इसे ऋणात्मक संख्याओं का भी समर्थन करना चाहिए। इसलिए, यदि इनपुट संख्या =[-3, 5, 1, -2, -1, 0, 2, 4, 3] की तरह है, तो आउटपुट सत्य होगा क्योंकि तत्व 3, 4, 5, 6 हैं। 7,

  1. सकारात्मक और नकारात्मक संख्याओं को पुनर्व्यवस्थित करने के लिए पायथन कार्यक्रम में लैम्ब्डा अभिव्यक्ति

    इस ट्यूटोरियल में, हम एक सूची में धनात्मक और ऋणात्मक संख्याओं को पुनर्व्यवस्थित करने के लिए लैम्ब्डा का उपयोग करके एक अनाम फ़ंक्शन लिखने जा रहे हैं। हमें एक नई सूची बनाने के लिए ऋणात्मक संख्याओं और फिर सकारात्मक संख्याओं को एक सूची से चुनने की आवश्यकता है। एल्गोरिदम आइए देखें कि समस्या को चरण दर चर

  1. सकारात्मक और नकारात्मक संख्याओं को पुनर्व्यवस्थित करने के लिए पायथन में लैम्ब्डा अभिव्यक्ति

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