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

C++ में दो अलग-अलग सरणियों के तत्वों को तीसरी सरणी में वैकल्पिक रूप से मर्ज करना

समस्या कथन

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

arr1[] = {10, 20, 30, 40}
arr2[] = {-10, -20, -30, -40}
result[] = {10, -10, 20, -20, 30, -30, 40, -40}

एल्गोरिदम

1. दोनों सरणियों को पार करें और एक-एक करके तत्वों को परिणाम सरणी में डालें।
2. यदि एक सरणी समाप्त हो जाती है तो दूसरी सरणी के शेष तत्वों को परिणाम सरणी में डालें।

C++ उदाहरण

#include <iostream>
#define SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
using namespace std;

void alternateMergedArray(int *arr1, int n1, int *arr2, int n2, int *result) {
    int i = 0, j = 0, k = 0;
    while (i < n1 && j < n2) {
        result[k++] = arr1[i++];
        result[k++] = arr2[j++];
    }
    while (i < n1) result[k++] = arr1[i++];
    while (j < n2) result[k++] = arr2[j++];
}

void displayArray(int *arr, int n) {
    for (int i = 0; i < n; ++i) cout << arr[i] << " ";
    cout << endl;
}

int main() {
    int arr1[] = {10, 20, 30, 40};
    int arr2[] = {-10, -20, -30, -40};
    int result[SIZE(arr1) + SIZE(arr2)];
    cout << "First array: " << endl;
    displayArray(arr1, SIZE(arr1));
    cout << "Second array: " << endl;
    displayArray(arr2, SIZE(arr2));
    cout << "Result array: " << endl;
    alternateMergedArray(arr1, SIZE(arr1), arr2, SIZE(arr2), result);
    displayArray(result, SIZE(result));
    return 0;
}

आउटपुट

First array: 10 20 30 40
Second array: -10 -20 -30 -40
Result array: 10 -10 20 -20 30 -30 40 -40
  1. - C++ में दो अनसॉर्टेड सरणियों को सॉर्ट क्रम में मर्ज करना

    समस्या कथन एक फ़ंक्शन लिखें जो दो अनसॉर्टेड सरणियों को लेता है और उन्हें एक नई सरणी में सॉर्ट क्रम में मर्ज करता है। arr1[] = {10, 5, 7, 2} arr2[] = {4, 17, 9, 3} result[] = {2, 3, 4, 5, 7, 9, 10, 17} एल्गोरिदम 1. दो अनसॉर्टेड सरणियों को नई सरणी में मर्ज करें 2. नव निर्मित सरणी को सॉर्ट करें C++ उ

  1. - C++ प्रोग्राम: दो अनसॉर्टेड एरे का यूनियन और इंटरसेक्शन ज्ञात करना

    इस लेख में, हम एक प्रोग्राम पर चर्चा करेंगे जो दो दिए गए अनसॉर्टेड एरे का यूनियन और इंटरसेक्शन ज्ञात करता है। आइए दो एरे को A और B से दर्शाएं। फिर उन एरे का यूनियन A ∪ B द्वारा दर्शाया जाता है जो मूल रूप से दोनों दिए गए एरे में सभी तत्वों का एक एरे है; बशर्ते कि प्रत्येक तत्व केवल एक बार दोहराए। इस

  1. - C++ प्रोग्राम: दो अलग-अलग सरणियों में संग्रहीत तत्वों की माध्यिका खोजें

    एल्गोरिदमMedian() फ़ंक्शन में दो सरणी a1[], a2[] और n = तत्वों की संख्या लें। i और j को 0 से प्रारंभ करें, n1 और n2 को -1 से। 0 से n तक लूप चलाएं: यदि i == n तो n1 = n2, n2 = a2[0], लूप तोड़ें। अन्यथा यदि j == n तो n1 = n2, n2 = a1[0], लूप तोड़ें। यदि a1[i] < a2[j] तो n1 = n2, n2 = a1[i], i बढ़ाएं।