Bird
Raised Fist0
DSA C++programming~10 mins

Array Insertion at Middle Index in DSA C++ - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare an integer array of size 5.

DSA C++
int arr[[1]];
Drag options to blanks, or click blank then click option'
A7
B5
C3
D10
Attempts:
3 left
💡 Hint
Common Mistakes
Using a size different from 5.
Forgetting to specify the size.
2fill in blank
medium

Complete the code to find the middle index of the array.

DSA C++
int mid = [1] / 2;
Drag options to blanks, or click blank then click option'
Asizeof(arr) / sizeof(arr[0])
B5
Csizeof(arr)
Darr.size()
Attempts:
3 left
💡 Hint
Common Mistakes
Using arr.size() which is invalid for raw arrays.
Using sizeof(arr) alone gives total bytes, not element count.
3fill in blank
hard

Fix the error in the loop to shift elements right from the middle index.

DSA C++
for (int i = 4; i >= [1]; i--) {
    arr[i + 1] = arr[i];
}
Drag options to blanks, or click blank then click option'
Amid + 1
Bmid - 1
C0
Dmid
Attempts:
3 left
💡 Hint
Common Mistakes
Starting loop from mid + 1 causes skipping the middle element.
Starting from 0 causes overwriting elements incorrectly.
4fill in blank
hard

Fill both blanks to insert value 99 at middle index and print the array.

DSA C++
arr[[1]] = 99;
for (int i = 0; i <= [2]; i++) {
    std::cout << arr[i] << " ";
}
Drag options to blanks, or click blank then click option'
Amid
B4
C5
Dmid + 1
Attempts:
3 left
💡 Hint
Common Mistakes
Printing only up to 4 misses the new element.
Inserting at mid + 1 instead of mid places element wrongly.
5fill in blank
hard

Fill all three blanks to complete the insertion function for middle index.

DSA C++
void insertMiddle(int arr[], int n, int val) {
    int mid = n [1] 2;
    for (int i = n - 1; i >= [2]; i--) {
        arr[i + 1] = arr[i];
    }
    arr[[3]] = val;
}
Drag options to blanks, or click blank then click option'
A/
Bmid
Cn
Dmid + 1
Attempts:
3 left
💡 Hint
Common Mistakes
Using multiplication instead of division for mid.
Shifting from wrong index causing overwrite.
Inserting at wrong position.

Practice

(1/5)
1. What does inserting an element at the middle index of an array mean?
easy
A. Adding a new element exactly in the center, shifting others right
B. Replacing the middle element with a new one
C. Adding a new element at the end of the array
D. Removing the middle element from the array

Solution

  1. Step 1: Understand middle index insertion

    Inserting at the middle means placing a new element at the center position, pushing existing elements right.
  2. Step 2: Differentiate from other operations

    Replacing or removing elements is not insertion; adding at the end is not middle insertion.
  3. Final Answer:

    Adding a new element exactly in the center, shifting others right -> Option A
  4. Quick Check:

    Middle insertion means insert and shift right [OK]
Hint: Middle insertion shifts elements right from center [OK]
Common Mistakes:
  • Thinking insertion replaces the middle element
  • Confusing insertion with appending at the end
  • Assuming middle means removing element
2. Which of the following C++ code snippets correctly inserts an element `x` at the middle index of array `arr` of size `n`?
easy
A. arr[n] = x; for(int i = n/2; i < n; i++) arr[i] = arr[i+1];
B. for(int i = 0; i < n/2; i++) arr[i] = arr[i+1]; arr[n/2] = x;
C. arr[n/2] = x; for(int i = n/2; i < n; i++) arr[i+1] = arr[i];
D. for(int i = n; i > n/2; i--) arr[i] = arr[i-1]; arr[n/2] = x;

Solution

  1. Step 1: Shift elements right from middle index

    Loop from end (n) down to middle (n/2 + 1) shifting elements right to make space.
  2. Step 2: Insert element at middle index

    Assign new element x at index n/2 after shifting.
  3. Final Answer:

    for(int i = n; i > n/2; i--) arr[i] = arr[i-1]; arr[n/2] = x; -> Option D
  4. Quick Check:

    Shift right then insert at middle [OK]
Hint: Shift elements right from end to middle before insert [OK]
Common Mistakes:
  • Shifting elements left instead of right
  • Inserting before shifting elements
  • Incorrect loop direction causing overwrite
3. What is the output array after inserting 99 at the middle index of arr = {10, 20, 30, 40, 50} using the correct insertion method?
medium
A. [10, 20, 30, 40, 99, 50]
B. [10, 20, 99, 30, 40, 50]
C. [10, 20, 30, 99, 40, 50]
D. [10, 20, 30, 40, 50, 99]

Solution

  1. Step 1: Calculate middle index

    Array size n=5, middle index = n/2 = 2 (0-based indexing).
  2. Step 2: Shift elements right and insert 99

    Shift elements from index 4 to 2 right by one position, then insert 99 at index 2.
  3. Final Answer:

    [10, 20, 99, 30, 40, 50] -> Option B
  4. Quick Check:

    Insert at index 2 shifts right [OK]
Hint: Middle index = size/2; shift right, then insert [OK]
Common Mistakes:
  • Inserting at wrong index (like 3 or 4)
  • Not shifting elements before insertion
  • Appending at the end instead of middle
4. Identify the error in the following code snippet that inserts element `x` at the middle index of array `arr` of size `n`:
for(int i = n/2; i < n; i++) {
  arr[i+1] = arr[i];
}
arr[n/2] = x;
medium
A. Loop shifts elements left instead of right
B. Index out of bounds when accessing arr[i+1]
C. Loop direction causes overwriting elements
D. No error, code works correctly

Solution

  1. Step 1: Analyze loop direction and effect

    The loop moves forward from middle to end, copying arr[i] to arr[i+1], overwriting elements before they are moved.
  2. Step 2: Identify correct approach

    Elements must be shifted right starting from the end backward to avoid overwriting data.
  3. Final Answer:

    Loop direction causes overwriting elements -> Option C
  4. Quick Check:

    Shift right must go backward to avoid overwrite [OK]
Hint: Shift elements right backward from end to middle [OK]
Common Mistakes:
  • Shifting elements forward causing data loss
  • Ignoring array bounds when shifting
  • Assuming forward loop works for shifting right
5. Given an array arr = {5, 10, 15, 20, 25, 30} of size 6, after inserting element 99 at the middle index, what will be the final array?
hard
A. [5, 10, 15, 99, 20, 25, 30]
B. [5, 10, 99, 15, 20, 25, 30]
C. [5, 10, 15, 20, 99, 25, 30]
D. [5, 10, 15, 20, 25, 30, 99]

Solution

  1. Step 1: Calculate middle index for even-sized array

    Array size n=6, middle index = n/2 = 3 (0-based indexing).
  2. Step 2: Shift elements right from index 5 to 3

    Shift elements at indices 5,4,3 one position right to make space at index 3.
  3. Step 3: Insert 99 at middle index

    Place 99 at index 3 after shifting.
  4. Final Answer:

    [5, 10, 15, 99, 20, 25, 30] -> Option A
  5. Quick Check:

    Insert at index 3 shifts right [OK]
Hint: For even size, middle = size/2; shift right, then insert [OK]
Common Mistakes:
  • Inserting at index 2 instead of 3
  • Not shifting elements before insertion
  • Appending at the end instead of middle
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard