C++ Exercises: Find the missing element from two given arrays of integers except one element

C++ Array: Exercise-22 with Solution

Write a C++ program to find the missing element from two given arrays of integers except one element.

Sample Solution:

C++ Code :

#include <iostream>
using namespace std;
int findMissing(int array1[], int array2[], int s1, int s2)
    int result = 0;
    for (int i=0; i<s1; i++)
       result = result^array1[i];
    for (int i=0; i<s2; i++)
       result = result^array2[i];
    return result;
int main()
    int array1[] = {3, 1, 5, 7, 9};
    int array2[] = {3, 7, 5, 9};
     int mn;
     int s1 = sizeof(array1) / sizeof(array1[0]);
    int s2 = sizeof(array2) / sizeof(array2[0]);
        if (s1 != s2-1 && s2 != s1-1)
        cout << "Invalid Input";
        return 0;
    cout << "Original arrays: ";
    cout << "\nFirst array: ";
    for (int i=0; i < s1; i++) 
    cout << array1[i] <<" ";
    cout << "\nSecond array: ";
    for (int i=0; i < s2; i++) 
    cout << array2[i] <<" ";
    mn = findMissing(array1, array2, s1, s2);
    cout <<"\nMissing number: " << mn;
    return 0; 

Sample Output:

Original arrays: 
First array: 3 1 5 7 9 
Second array: 3 7 5 9 
Missing number: 1


Flowchart: Find the missing element from two given arrays of intgers except one element

C++ Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a C++ program to find the two repeating elements in a given array of integers.
Next: Write a C++ program to find the element that appears once in an array of integers and every other element appears twice.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Share this Tutorial / Exercise on : Facebook and Twitter

C++ Programming: Tips of the Day

Can I assume (bool)true == (int)1 for any C++ compiler?

According to the standard, you should be safe with that assumption. The C++ bool type has two values - true and false with corresponding values 1 and 0.

The thing to watch about for is mixing bool expressions and variables with BOOL expression and variables. The latter is defined as FALSE = 0 and TRUE != FALSE, which quite often in practice means that any value different from 0 is considered TRUE.

A lot of modern compilers will actually issue a warning for any code that implicitly tries to cast from BOOL to bool if the BOOL value is different than 0 or 1

Ref: https://bit.ly/3PWhs5N