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

C++ में दो सरणियों के बीच संगतता अंतर का पता लगाएं

मान लीजिए कि दो दोस्त हैं और अब वे अपनी बॉन्डिंग को परखना चाहते हैं। इसलिए वे जांच करेंगे कि वे कितने अनुकूल हैं। संख्या n को देखते हुए, 1..n से क्रमांकित। और उन्हें नंबर रैंक करने के लिए कहा जाता है। उन्हें उनके बीच संगतता अंतर खोजना होगा। संगतता अंतर मूल रूप से उनके द्वारा दी गई एक ही फिल्म की सापेक्ष रैंकिंग में बेमेल की संख्या है। तो अगर ए =[3, 1, 2, 4, 5], और बी =[3, 2, 4, 1, 5], तो आउटपुट 2 होगा। संगतता अंतर 2 है, जैसा कि पहले रैंक की फिल्म 1 से पहले है 2 और 4, लेकिन अन्य इसके बाद रैंक करते हैं।

इसे हल करने के लिए, हम दोनों सरणियों को पार करेंगे, जब वर्तमान तत्व समान हैं, तो कुछ भी न करें। फिर A और B की अगली स्थिति ज्ञात कीजिए, मान लीजिए कि स्थिति j है, एक-एक करके B[j] को B[i]

पर ले जाएँ

उदाहरण

#include<iostream>
using namespace std;

int getArrayDiff(int A[], int B[], int n) {
   int result = 0;

   for (int i = 0; i < n; i++) {
      if (A[i] != B[i]) {

         int j = i + 1;
         while (A[i] != B[j])      
         j++;

         while (j != i) {
            swap(B[j], B[j - 1]);
            j--;
            result++;
         }
      }
   }
   return result;
}

int main() {
   int A[] = { 3, 1, 2, 4, 5 };
   int B[] = { 3, 2, 4, 1, 5 };
   int n = sizeof(A)/sizeof(A[0]);

   cout << "Compatibility difference: " << getArrayDiff(A, B, n);
}

आउटपुट

Compatibility difference: 2

  1. C++ का उपयोग करके दो सरणियों का अतिव्यापी योग ज्ञात कीजिए

    इस समस्या में, हमें दो सरणियाँ दी गई हैं arr1[] और arr2[] जिसमें अद्वितीय मान हैं। हमारा काम दो सरणियों का अतिव्यापी योग ज्ञात करना है। सरणियों के सभी तत्व अलग हैं। और हमें उन तत्वों का योग वापस करना होगा जो दोनों सरणियों के लिए सामान्य हैं समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट arr1

  1. C++ में दो अवर्गीकृत सरणियों का संघ और प्रतिच्छेदन खोजें

    इस ट्यूटोरियल में, हम सीखेंगे कि कैसे दो अवर्गीकृत सरणियों के मिलन और प्रतिच्छेदन के लिए एक प्रोग्राम लिखना है। आइए एक उदाहरण देखें। इनपुट arr_one = [1, 2, 3, 4, 5] arr_two = [3, 4, 5, 6, 7] आउटपुट union: 1 2 3 4 5 6 7 intersection: 3 4 5 आइए समस्या को हल करने के लिए चरणों को देखें। संघ याद

  1. C++ में दो अलग-अलग अच्छे नोड्स के किसी भी जोड़े के बीच सबसे कम दूरी ज्ञात करें

    मान लीजिए कि हमारे पास एन अलग-अलग नोड्स और एम किनारों के साथ एक भारित अप्रत्यक्ष ग्राफ है, कुछ नोड्स अच्छे नोड्स हैं। हमें दो अलग-अलग अच्छे नोड्स के किसी भी जोड़े के बीच सबसे छोटी दूरी का पता लगाना है। दिए गए आरेख में निम्नलिखित ग्राफ में पीले रंग को अच्छा नोड माना जाता है। तो, अगर इनपुट पसंद है