w3resource

C++ Exercises: Find the smallest element missing in a sorted array


10. Smallest Missing Element in a Sorted Array

Write a C++ program to find the smallest element missing from a sorted array.

Visual Presentation:

C++ Exercises: Find the smallest element missing in a sorted array

Sample Solution:

C++ Code :

#include<iostream> // Header file for input/output stream
#include<algorithm> // Header file for using algorithms like sort
using namespace std; // Using the standard namespace

// Function to find the smallest missing element in a sorted array
int smalest_missing_num(int nums[], int start_pos, int end_pos)
{
    // If start position is greater than end position, return the next possible smallest missing number
    if (start_pos > end_pos)
        return end_pos + 1;

    // If start position doesn't match the value at that index, return the start position itself
    if (start_pos != nums[start_pos])
        return start_pos;

    // Calculate the middle index
    int mid = (start_pos + end_pos) / 2;

    // If the value at mid index equals the index itself, continue searching in the right subarray
    if (nums[mid] == mid)
        return smalest_missing_num(nums, mid + 1, end_pos);

    // Otherwise, continue searching in the left subarray
    return smalest_missing_num(nums, start_pos, mid);
}

int main()
{
    int nums[] = {0, 1, 3, 4, 5, 6, 7, 8, 10}; // Declaration and initialization of an integer array
    int result; // Variable to store the result of the function
    int n = sizeof(nums) / sizeof(nums[0]); // Calculating the number of elements in the array
    cout << "Original array: ";
    for (int i = 0; i < n; i++)
        cout << nums[i] << " "; // Outputting each element of the array
    result = smalest_missing_num(nums, 0, n - 1); // Finding the smallest missing element in the array
    cout << "\nSmallest missing element is " << result; // Outputting the smallest missing element
    return 0;
}

Sample Output:

Original array: 0 1 3 4 5 6 7 8 10 
Smallest missing element is 2

Flowchart:

Flowchart: Find the smallest element missing in a sorted array

For more Practice: Solve these Related Problems:

  • Write a C++ program to identify the smallest missing positive integer from a sorted array using linear search.
  • Write a C++ program that scans a sorted array and outputs the first missing element by comparing expected and actual values.
  • Write a C++ program to traverse a sorted array and detect the smallest number that is missing in the sequence.
  • Write a C++ program that reads a sorted array and determines the smallest gap in the sequence to find the missing element.

Go to:


PREV : Wave Form Sorting of an Array.
NEXT : Update Array Elements by Multiplying Neighbors.

C++ Code Editor:



Contribute your code and comments through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.