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

सी ++ में एसटीएल में जोड़ी का उपयोग करके किसी अन्य सरणी के अनुसार सरणी को सॉर्ट करना

मान लीजिए कि हमारे पास दो अलग-अलग सरणियाँ हैं। हमें सी ++ एसटीएल जोड़ी वर्ग का उपयोग करके दूसरे सरणी के आधार पर एक सरणी को सॉर्ट करना होगा। दो सरणियों पर विचार करें जैसे A1 =[2, 1, 5, 4, 9, 3, 6, 7, 10, 8], और दूसरी सरणी A2 =[A, B, C, D, E, F, G जैसी है। , एच, आई, जे], आउटपुट इस तरह होगा:ए 1 =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ए 2 =[बी, ए, एफ, डी, सी , जी, एच, जे, ई, आई]

यहां हम C++ STL के जोड़ियों का उपयोग कर रहे हैं। युग्म A1 से एक तत्व, A2 से दूसरा तत्व लेकर बनता है। फिर बस सॉर्टिंग फ़ंक्शन का उपयोग करें। एक बात हमने ध्यान में रखी है, कि जोड़ी में पहला तत्व, सरणी बनाना चाहिए, जिसके अनुसार छँटाई की जाती है।

उदाहरण

#include <iostream>
#include <algorithm>
#include <map>
using namespace std;
template <class T>
void display(T arr[], int n) {
   for (int i = 0; i < n; i++)
   cout << arr[i] << " ";
}
void sortUsingSecondArr(int A1[], char A2[], int n){
   pair<int, char> pair_arr[n];
   for (int i = 0; i < n; i++) {
      pair_arr[i].first = A1[i];
      pair_arr[i].second = A2[i];
   }
   sort(pair_arr, pair_arr + n);
   for (int i = 0; i < n; i++) {
      A1[i] = pair_arr[i].first;
      A2[i] = pair_arr[i].second;
   }
}
int main() {
   int n = 10;
   int A1[] = {2, 1, 5, 4, 9, 3, 6, 7, 10, 8};
   char A2[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'};
   cout << "Before Sorting: "<<endl;
   cout << "First Array : "; display(A1, n);
   cout << "\nSecond Array: "; display(A2, n);
   sortUsingSecondArr(A1, A2, n);
   cout << "\n\nAfter Sorting: "<<endl;
   cout << "First Array : "; display(A1, n);
   cout << "\nSecond Array: "; display(A2, n);
}

आउटपुट

Before Sorting:
First Array : 2 1 5 4 9 3 6 7 10 8
Second Array: A B C D E F G H I J
After Sorting:
First Array : 1 2 3 4 5 6 7 8 9 10
Second Array: B A F D C G H J E I

  1. केवल सी ++ में सरणी तत्वों का उपयोग करके एक सरणी को बराबर करें

    इस समस्या में, हमें n तत्वों की एक सरणी दी गई है। हमारा काम केवल तत्वों का उपयोग करके एक सरणी को बराबर करने के लिए संचालन की संख्या की गणना करने के लिए एक प्रोग्राम बनाना है। हमें सरणी के सभी तत्वों को समान बनाने के लिए किए जाने वाले जोड़ या घटाव संचालन की संख्या की गणना करने की आवश्यकता है। समस्या

  1. सी ++ में 1-डी सरणी का उपयोग करके 2-डी सरणी का अनुकरण करना

    इस समस्या में, हम 2-डी सरणी के 1-डी सरणी में रूपांतरण को समझेंगे। हम देखेंगे कि 2-डी सरणी के तत्वों को 1-डी सरणी में कैसे संग्रहीत किया जाए। यहां, 1-डी सरणी का आकार 2-डी सरणी में तत्वों की कुल संख्या के समान है जो n*m है। प्रोग्रामिंग में 2-डी सरणी को 1-डी सरणी में स्टोर करने के दो तरीके हैं। वे ह

  1. यह जांचने के लिए प्रोग्राम कि कोई ऐरे पालिंड्रोम है या C++ में STL का उपयोग नहीं कर रहा है

    एन पूर्णांकों की एक सरणी गिरफ्तारी [एन] को देखते हुए, कार्य यह पता लगाना है कि सरणी एक पैलिंड्रोम है या नहीं। हमें बताए गए कार्य को C++ में STL का उपयोग करके करना है। सी ++ में एसटीएल (स्टैंडर्ड टेम्प्लेट लाइब्रेरी) की एक विशेषता है, यह सी ++ टेम्प्लेट क्लासेस का एक सेट है जो डेटा संरचनाओं और ढेर,