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

अधिकतम न्यूनतम रूप में एक सरणी को पुनर्व्यवस्थित करने के लिए सी ++ प्रोग्राम

हमें एक पूर्णांक सरणी दी गई है जिसे क्रमबद्ध/अक्रमित तरीके से व्यवस्थित किया जा सकता है। कार्य पहले सरणी को क्रमबद्ध करना है यदि मान बिना क्रमबद्ध हैं तो सरणी को इस तरह व्यवस्थित करें कि सरणी का पहला तत्व अधिकतम मान होगा, दूसरा न्यूनतम मान होगा, तीसरा दूसरा सबसे बड़ा मान होगा, चौथा होगा दूसरा न्यूनतम मूल्य वगैरह।

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

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

आउटपुट - व्यवस्था से पहले सरणी:2 3 4 5 5 7 9 10 अधिकतम न्यूनतम रूप में एक सरणी का पुनर्व्यवस्था है:10 2 9 3 7 4 5 5

स्पष्टीकरण - हमें एक पूर्णांक प्रकार की सरणी दी जाती है जिसमें {7, 5, 2, 3, 4, 9, 10, 5} के मान होते हैं। सबसे पहले हम एक ऐरे को सॉर्ट करेंगे और यह {2 3 4 5 5 7 9 10} होगा। दूसरे, सबसे बड़े तत्व को एआर [0] यानी 10 पर व्यवस्थित करें, फिर सबसे छोटा तत्व एआर [1] यानी 2 पर दूसरा सबसे बड़ा तत्व एआर [2] यानी 9 और इसी तरह। अंतिम परिणामी सरणी 10 2 9 3 7 4 5 5

. होगी

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

आउटपुट - व्यवस्था से पहले सरणी:1, 2, 4, 6, 7 अधिकतम न्यूनतम रूप में एक सरणी का पुनर्व्यवस्था है:7, 1, 6, 2, 4

स्पष्टीकरण - हमें एक पूर्णांक प्रकार की सरणी दी जाती है जिसमें {2, 4, 1, 6, 7} के मान होते हैं। सबसे पहले हम एक ऐरे को सॉर्ट करेंगे और यह {1, 2, 4, 6, 7} होगा। दूसरे, सबसे बड़े तत्व को एआर [0] यानी 7 पर व्यवस्थित करें फिर सबसे छोटा तत्व एआर [1] यानी 1 पर दूसरा सबसे बड़ा तत्व एआर [2] यानी 6 और इसी तरह। अंतिम परिणामी सरणी 7, 1, 6, 2, 4 होगी

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

  • पूर्णांक प्रकार के तत्वों की एक सरणी इनपुट करें और एक सरणी के आकार की गणना करें। एक तर्क के रूप में एआर [] और एक सरणी के आकार को पास करके सी ++ एसटीएल की सॉर्ट विधि को कॉल करें।

  • व्यवस्था से पहले सरणी को प्रिंट करें और फ़ंक्शन को कॉल करें Rearr_Max_Min(arr, size)

  • समारोह के अंदर Rearr_Max_Min(arr, size)

    • एक चर को अधिकतम घोषित करें और इसे आकार - 1 के साथ और दूसरे चर को न्यूनतम के रूप में सेट करें और इसे 0 के साथ सेट करें। एक चर को max_val के रूप में घोषित करें और इसे arr [आकार - 1] + 1. के साथ सेट करें।

    • I से 0 तक के लिए लूप प्रारंभ करें जब तक कि i आकार से कम न हो। लूप के अंदर, IF i% 2 =0 जांचें, फिर arr[i] को arr[i] + (arr[max]% max_val) * max_val पर सेट करें और अधिकतम को 1 से घटाएं।

    • अन्यथा, arr[i] को arr[i] + (arr[min]% max_val) * max_val पर सेट करें और न्यूनतम को 1 से बढ़ाएँ।

    • I से 0 तक के लिए लूप प्रारंभ करें जब तक कि i आकार से कम न हो। लूप के अंदर, arr[i] को arr[i] / max_val

      . पर सेट करें

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void Rearr_Max_Min(int arr[], int size){
   int max = size - 1;
   int min = 0;
   int max_val = arr[size - 1] + 1;
   for (int i = 0; i < size; i++){
      if (i % 2 == 0){
         arr[i] += (arr[max] % max_val) * max_val;
         max--;
      }
      else{
         arr[i] += (arr[min] % max_val) * max_val;
         min++;
      }
   }
   for(int i = 0; i < size; i++){
      arr[i] = arr[i] / max_val;
   }
}
int main(){
   //input an array
      int arr[] = {7, 5, 2, 3, 4, 9, 10, 5 };
      int size = sizeof(arr) / sizeof(arr[0]);
      //sort an array
      sort(arr, arr + size);
      //print the original Array after sorting
      cout<<"Array before Arrangement: ";
      for (int i = 0; i < size; i++){
         cout << arr[i] << " ";
      }
      //calling the function to rearrange the array
      Rearr_Max_Min(arr, size);
      //print the array after rearranging the values
      cout<<"\nRearrangement of an array in maximum minimum form is: ";
      for(int i = 0; i < size; i++){
         cout<< arr[i] << " ";
      }
   return 0;
}

आउटपुट

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

Array before Arrangement: 2 3 4 5 5 7 9 10
Rearrangement of an array in maximum minimum form is: 10 2 9 3 7 4 5 5

  1. C++ में किसी सरणी की बिटनोसिटी की जांच करने का कार्यक्रम

    एन पूर्णांकों की एक सरणी गिरफ्तारी [एन] को देखते हुए, कार्य यह जांचना है कि दिया गया सरणी बिटोनिक है या नहीं। यदि दी गई सरणी बिटोनिक है तो हां यह एक बिटोनिक सरणी है प्रिंट करें, अन्यथा प्रिंट करें नहीं यह एक बिटोनिक सरणी नहीं है। एक बिटोनिक सरणी तब होती है जब सरणी पहले सख्ती से बढ़ते क्रम में होती

  1. C++ प्रोग्राम लीनियर सर्च का उपयोग करके किसी ऐरे में न्यूनतम तत्व ढूँढ़ने के लिए

    रैखिक खोज दृष्टिकोण का उपयोग करके सरणी के न्यूनतम तत्व को खोजने के लिए यह एक सी ++ प्रोग्राम है। इस कार्यक्रम की समय जटिलता O(n) है। एल्गोरिदम Begin Assign the data element to an array. Assign the value at ‘0’ index to minimum variable. Compare minimum with other data element se

  1. सी ++ प्रोग्राम वैरिएबल लेंथ ऐरे को लागू करने के लिए

    चर लंबाई सरणियों का आकार उपयोगकर्ता द्वारा आवश्यकतानुसार हो सकता है यानी उनका एक चर आकार हो सकता है। C++ में वेरिएबल लेंथ एरेज़ को लागू करने का प्रोग्राम इस प्रकार दिया गया है - उदाहरण #include <iostream> #include <string> using namespace std; int main() {    int *array, size