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

C++ में सरणी को पुनर्व्यवस्थित करें ताकि सम इंडेक्स वाले तत्व छोटे हों और विषम इंडेक्स वाले बड़े


हमें एक पूर्णांक प्रकार की सरणी दी गई है जिसमें धनात्मक और ऋणात्मक दोनों संख्याएँ हैं, मान लीजिए, arr[] किसी भी दिए गए आकार की। कार्य है सरणी को इस तरह पुनर्व्यवस्थित करना कि सम स्थिति या इंडेक्स पर मौजूद सभी तत्व विषम स्थिति या इंडेक्स पर मौजूद तत्वों से छोटे हों और परिणाम प्रिंट करें।

विभिन्न इनपुट-आउटपुट परिदृश्य

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

आउटपुट - पुनर्व्यवस्थापन से पहले सरणी: 2 1 4 3 6 5 8 7 सम इंडेक्स वाले तत्व छोटे और विषम इंडेक्स वाले बड़े हों ऐसा पुनर्व्यवस्थापन: 1 4 2 6 3 8 5 7

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

इनपुट - int arr[] = {10, -1, 7, -5, 6, -9}

आउटपुट - पुनर्व्यवस्थापन से पहले सरणी: 10 -1 7 -5 6 -9 सम इंडेक्स वाले तत्व छोटे और विषम इंडेक्स वाले बड़े हों ऐसा पुनर्व्यवस्थापन: -1 10 -5 7 -9 6

व्याख्या - हमें आकार 6 की एक पूर्णांक सरणी दी गई है जिसमें धनात्मक और ऋणात्मक दोनों तत्व हैं। अब, हम सरणी को इस तरह पुनर्व्यवस्थित करेंगे कि सम स्थिति पर मौजूद सभी तत्व विषम स्थिति पर मौजूद तत्वों से छोटे हों और यह संक्रिया करने के बाद बनी सरणी -1 10 -5 7 -9 6 है।

उपयोग किया गया दृष्टिकोण

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

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

  • सरणी और सरणी के आकार को पैरामीटर के रूप में पास करके फ़ंक्शन Rearrangement(arr, size) को कॉल करें।

  • फ़ंक्शन Rearrangement(arr, size) के अंदर

    • i को 0 से size -1 से कम होने तक FOR लूप शुरू करें। लूप के अंदर, जांचें यदि i % 2 0 है तो जांचें यदि arr[i] arr[i + 1] से बड़ा है तो C++ STL की swap विधि को arr[i] और arr[i + 1] को पास करके कॉल करें।

    • अब, जांचें यदि i % 2 0 के बराबर नहीं है तो जांचें यदि arr[i] arr[i + 1] से छोटा है तो STL की swap विधि को arr[i] और arr[i + 1] को पास करके कॉल करें।

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

उदाहरण

#include <iostream> using namespace std; void Rearrangement(int* arr, int size){    for(int i = 0; i < size - 1; i++){       if(i % 2 == 0 ){          if(arr[i] > arr[i + 1]){             swap(arr[i], arr[i + 1]);          }       }       if(i % 2 != 0){          if(arr[i] < arr[i + 1]){             swap(arr[i], arr[i + 1]);          }       }    } } int main(){    //सरणी इनपुट करें    int arr[] = {2, 1, 4, 3, 6, 5, 8, 7};    int size = sizeof(arr) / sizeof(arr[0]);    //मूल सरणी प्रिंट करें    cout<<"Array before Arrangement: ";    for (int i = 0; i < size; i++){       cout << arr[i] << " ";    }    //सरणी को पुनर्व्यवस्थित करने के लिए फ़ंक्शन कॉल करें    Rearrangement(arr, size);    //मानों को पुनर्व्यवस्थित करने के बाद सरणी प्रिंट करें    cout<<"\nRearrangement of an array such that even index elements are smaller and odd index elements are greater is: ";    for(int i = 0; i < size; i++){       cout<< arr[i] << " ";    }    return 0; }

आउटपुट

उपरोक्त कोड चलाने पर निम्नलिखित आउटपुट उत्पन्न होगा:

Array before Arrangement: 2 1 4 3 6 5 8 7 Rearrangement of an array such that even index elements are smaller and odd index elements are greater is: 1 4 2 6 3 8 5 7

  1. सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++ सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++

    इस समस्या में, हमें एक सर्कुलर ऐरे cirArr[] दिया गया है। हमारा कार्य एक प्रोग्राम बनाना है जो C++ में सर्कुलर ऐरे में अधिकतम योग ढूंढे जहाँ कोई दो आसन्न तत्व न हों।समस्या विवरणसर्कुलर ऐरे के लिए, हमें ऐरे के तत्वों का अधिकतम योग ढूंढना है जहाँ आसन्न तत्वों को नहीं लिया जा सकता, यानी हमें वैकल्पिक तत

  1. - C++ में एरे में सम और विषम इंडेक्स वाले तत्वों का निरपेक्ष अंतर

    एक एरे समान डेटा प्रकार के कई तत्वों का एक कंटेनर है। तत्वों का इंडेक्स 0 से शुरू होता है यानी पहले तत्व का इंडेक्स 0 होता है। इस समस्या में, हमें दो सम इंडेक्स वाली संख्या और दो विषम इंडेक्स वाली संख्या के बीच निरपेक्ष अंतर ज्ञात करना है। सम इंडेक्स वाली संख्या = 0,2,4,6,8... विषम इंडेक्स वाली संख

  1. - C++ में ऐरे के सम और विषम इंडेक्स वाले तत्वों का निरपेक्ष अंतर

    यहां हम देखेंगे कि ऐरे में सम और विषम इंडेक्स वाले तत्वों के निरपेक्ष अंतर कैसे प्राप्त करें। निरपेक्ष अंतर इंगित करता है कि यदि किसी जोड़े का अंतर ऋणात्मक है, तो निरपेक्ष मान लिया जाएगा। उदाहरण के लिए, संख्याएं हैं {1, 2, 3, 4, 5, 6, 7, 8, 9}। तो सम स्थान वाले तत्व हैं 1, 3, 5, 7, 9 (0 से शुरू), और