Answer:
Explanation:
Given code:-
#include<iostream>
using namespace std; //namespace
#define RED "\033[31m" /* Red */
#define BLUE "\033[34m" /* Blue */ //color definition
#define WHITE "\033[37m" /* White */
void mergeArrays(int arr1[], int arr2[], int n1, int n2, int arr3[])
//merger sort
{
int i = 0, j = 0, k = 0;
while (i<n1 && j <n2) //iterate over both array
{
if (arr1[i] < arr2[j]) //iff array 1 element is larger
{
arr3[k] = arr1[i]; //assign to a3
k++;
i++;
}
else
{
arr3[k] = arr2[j]; //else assign array 2 to a3
j++;
k++;
}
}
//say the array turns out to br of different sizes
//let us copy the remaining elemnt to array 3
while (i < n1)
{
arr3[k] = arr1[i];
i++;
k++;
}
while (j < n2)
{
arr3[k] = arr2[j];
k++;
j++;
}
}
int main(){
int A[4] = {3,5,7,9}; //array 1 assignment
int a_size = 4;
int b_size = 6;
int B[6] = {1,3,7,9,13,25}; //array 2 assignment
int C[10]; //array 3 declearation
int a_count = 0;
int b_count = 0; //counter for both array index
mergeArrays(A,B,a_size,b_size,C); //merger function applied;
cout<<WHITE<<"A: ";
for(int i = 0; i<4; i++){
cout<<RED<<A[i]<<" ";
}
cout<<endl<<WHITE<<"B: ";
for(int i = 0; i<6; i++){
cout<<BLUE<<B[i]<<" ";
}
cout<<endl<<WHITE<<"C: ";
for(int i = 0; i<10; i++){ //iterate over C
if(C[i] == A[a_count] && a_count < a_size){
cout<<RED<<C[i]<<" ";
// if element is common in array 1 print in red
a_count++;
}
else if (C[i] == B[b_count] && b_count < b_size){
//say element was similar in array 2, print in blue
cout<<BLUE<<C[i]<<" ";
b_count++;
}
}
cout<<endl;
}