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

सी ++ में क्रमबद्ध क्रम में दो क्रमबद्ध सरणी विलय करना।

समस्या कथन

एक ऐसा फ़ंक्शन लिखें जो दो अवर्गीकृत सरणियों को लेता है और उन्हें क्रमबद्ध क्रम में एक नए सरणी में मिला देता है।

arr1[] = {10, 5, 7, 2}
arr2[] = {4, 17, 9, 3}
result[] = {2, 3, 4, 5, 7, 9, 10, 17}

एल्गोरिदम

1. Merge two unsorted array into new array
2. Sort newly create array

उदाहरण

#include <iostream>
#include <algorithm>
#define SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
using namespace std;
void mergeAndSort(int *arr1, int n1, int *arr2, int n2, int *result){
   merge(arr1, arr1 + n1, arr2, arr2 + n2, result);
   sort(result, result + n1 + n2);
}
void displayArray(int *arr, int n){
   for (int i = 0; i < n; ++i) {
      cout << arr[i] << " ";
   }
   cout << endl;
}
int main(){
   int arr1[] = {10, 5, 7, 2};
   int arr2[] = {4, 17, 9, 3};
   int result[SIZE(arr1) + SIZE(arr2)];
   cout << "First array: " << endl;
   displayArray(arr1, SIZE(arr1));
   cout << "Second array: " << endl;
   displayArray(arr1, SIZE(arr2));
   mergeAndSort(arr1, SIZE(arr1), arr2, SIZE(arr2), result);
   cout << "Merged and sorted array: " << endl;
   displayArray(result, SIZE(arr1) + SIZE(arr2));
   return 0;
}

आउटपुट

जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्न आउटपुट उत्पन्न करता है -

First array:
10 5 7 2
Second array:
10 5 7 2
Merged and sorted array:
2 3 4 5 7 9 10 17

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

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

  1. सी ++ में कार्य करने के लिए सरणी पास करना

    सी ++ किसी फ़ंक्शन के तर्क के रूप में संपूर्ण सरणी को पारित करने की अनुमति नहीं देता है। हालांकि, आप किसी इंडेक्स के बिना ऐरे का नाम निर्दिष्ट करके किसी ऐरे में पॉइंटर पास कर सकते हैं। यदि आप किसी फ़ंक्शन में एक एकल-आयाम सरणी को तर्क के रूप में पास करना चाहते हैं, तो आपको निम्नलिखित तीन तरीकों में

  1. मैं सी ++ में सरणी का उपयोग कैसे करूं?

    एक सरणी सन्निहित स्मृति स्थानों में रखे गए समान प्रकार के तत्वों की एक श्रृंखला है जिसे एक अद्वितीय पहचानकर्ता में एक अनुक्रमणिका जोड़कर व्यक्तिगत रूप से संदर्भित किया जा सकता है। C++ में किसी सरणी का उपयोग करने के लिए, आपको पहले इसे घोषित करना होगा, उदाहरण के लिए, int arr[10]; यह आकार 10 के प्रकार