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

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

समस्या कथन

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

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

एल्गोरिदम

1. Traverse both arrays and one by one put elements into result array.
2. If one of the array exhausts then put remaining elements of other array into result array.

उदाहरण

#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, j, k;
   i = 0;
   j = 0;
   k = 0;
   while (i < n1 && j < n2) {
      result[k] = arr1[i];
      ++k;
      ++i;
      result[k] = arr2[j];
      ++k;
      ++j;
   }
   while (i < n1) {
      result[k] = arr1[i];
      ++k;
      ++i;
   }
   while (j < n2) {
      result[k] = arr2[j];
      ++k;
      ++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. सी ++ में क्रमबद्ध क्रम में दो क्रमबद्ध सरणी विलय करना।

    समस्या कथन एक ऐसा फ़ंक्शन लिखें जो दो अवर्गीकृत सरणियों को लेता है और उन्हें क्रमबद्ध क्रम में एक नए सरणी में मिला देता है। 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 उदाहरण #inc

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

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

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

    हम तत्वों के माध्यिका को खोजने के लिए एक C++ प्रोग्राम पर विचार करेंगे जहां तत्वों को 2 अलग-अलग सरणियों में संग्रहीत किया जाता है। एल्गोरिदम Begin    Function Median() has Two arrays a1[], a2[] and n = numbers of elements of the array as arguments:    Initialize i and j by 0, and