Bird
Raised Fist0
DSA C++programming~10 mins

Array Deletion at End 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 reduce the array size by one after deletion at the end.

DSA C++
int size = 5;
int arr[5] = {1, 2, 3, 4, 5};
// Delete last element
size [1];
Drag options to blanks, or click blank then click option'
A--
B++
C+=
D-=
Attempts:
3 left
💡 Hint
Common Mistakes
Using ++ increases size instead of decreasing.
Using += or -= without a value is incorrect.
2fill in blank
medium

Complete the code to print the last element before deletion.

DSA C++
int size = 4;
int arr[5] = {10, 20, 30, 40, 50};
std::cout << arr[1] << std::endl;
Drag options to blanks, or click blank then click option'
A[size]
B[0]
C[size + 1]
D[size - 1]
Attempts:
3 left
💡 Hint
Common Mistakes
Using size as index causes out-of-bounds error.
Using 0 prints the first element, not last.
3fill in blank
hard

Fix the error in the code to delete the last element safely.

DSA C++
int size = 3;
int arr[5] = {5, 10, 15, 20, 25};
if (size > 0) {
    size [1];
}
std::cout << "New size: " << size << std::endl;
Drag options to blanks, or click blank then click option'
A-= 2
B--
C+= 1
D++
Attempts:
3 left
💡 Hint
Common Mistakes
Incrementing size increases array size incorrectly.
Subtracting 2 may remove more elements than intended.
4fill in blank
hard

Fill both blanks to print all elements after deleting the last one.

DSA C++
int size = 4;
int arr[5] = {2, 4, 6, 8, 10};
size [1];
for (int i = 0; i [2] size; i++) {
    std::cout << arr[i] << " ";
}
Drag options to blanks, or click blank then click option'
A--
B<
C<=
D++
Attempts:
3 left
💡 Hint
Common Mistakes
Using <= in loop prints one extra element.
Not decrementing size prints all elements including deleted.
5fill in blank
hard

Fill all three blanks to delete last element and print updated array size and elements.

DSA C++
int size = 3;
int arr[5] = {7, 14, 21, 28, 35};
if (size [1] 0) {
    size [2];
}
std::cout << "Size: " << size << std::endl;
for (int i = 0; i [3] size; i++) {
    std::cout << arr[i] << " ";
}
Drag options to blanks, or click blank then click option'
A>
B--
C<
D>=
Attempts:
3 left
💡 Hint
Common Mistakes
Using >= in condition allows deletion when size is zero.
Looping with <= prints extra element.
Not decrementing size keeps old size.

Practice

(1/5)
1. What happens to the size of an array when you delete an element from the end in a dynamic array?
easy
A. The size decreases by one
B. The size remains the same
C. The size increases by one
D. The size becomes zero

Solution

  1. Step 1: Understand dynamic array size behavior

    When an element is deleted from the end, the array size reduces by one because one element is removed.
  2. Step 2: Confirm size change after deletion

    Deleting from the end does not affect other elements, only reduces size by one.
  3. Final Answer:

    The size decreases by one -> Option A
  4. Quick Check:

    Size after deletion = original size - 1 [OK]
Hint: Deleting at end reduces size by one [OK]
Common Mistakes:
  • Thinking size remains same after deletion
  • Assuming size increases after deletion
  • Confusing deletion at end with deletion at start
2. Which of the following is the correct syntax to delete the last element from a vector named vec in C++?
easy
A. vec.erase_end();
B. vec.delete_last();
C. vec.remove_end();
D. vec.pop_back();

Solution

  1. Step 1: Recall vector deletion syntax

    The standard method to remove the last element from a vector in C++ is pop_back().
  2. Step 2: Verify other options

    Other methods like delete_last(), remove_end(), and erase_end() do not exist in C++ STL vector.
  3. Final Answer:

    vec.pop_back(); -> Option D
  4. Quick Check:

    Use pop_back() to delete last element [OK]
Hint: Use pop_back() to remove last element in vector [OK]
Common Mistakes:
  • Using non-existent methods like delete_last()
  • Confusing erase() with erase_end()
  • Trying to use remove_end() which is invalid
3. What will be the output of the following C++ code?
std::vector<int> v = {10, 20, 30, 40};
v.pop_back();
for(int x : v) std::cout << x << " ";
medium
A. 10 20 30 40
B. 20 30 40
C. 10 20 30
D. 10 20 40

Solution

  1. Step 1: Understand pop_back effect on vector

    pop_back() removes the last element, which is 40 in this vector.
  2. Step 2: Print remaining elements

    After removal, vector contains 10, 20, 30. Loop prints these with spaces.
  3. Final Answer:

    10 20 30 -> Option C
  4. Quick Check:

    Last element removed, output = 10 20 30 [OK]
Hint: pop_back() removes last element before printing [OK]
Common Mistakes:
  • Printing original vector without deletion
  • Confusing which element is removed
  • Forgetting pop_back() modifies vector
4. Identify the error in the following code that attempts to delete the last element of an array:
int arr[3] = {1, 2, 3};
arr.pop_back();
medium
A. pop_back() deletes first element, not last
B. pop_back() is not a member of built-in arrays
C. Array size is zero, cannot delete
D. No error, code is correct

Solution

  1. Step 1: Check array type and methods

    Built-in arrays in C++ do not have member functions like pop_back().
  2. Step 2: Understand correct usage

    pop_back() is a method of std::vector, not raw arrays.
  3. Final Answer:

    pop_back() is not a member of built-in arrays -> Option B
  4. Quick Check:

    pop_back() only works with vectors, not arrays [OK]
Hint: pop_back() works only on vectors, not raw arrays [OK]
Common Mistakes:
  • Assuming pop_back() works on raw arrays
  • Ignoring that arrays have fixed size
  • Thinking pop_back() deletes first element
5. You have a vector v with elements {5, 10, 15, 20, 25}. You want to delete the last two elements and then print the vector. Which code snippet correctly does this?
hard
A. v.erase(v.end()-2, v.end()); for(auto x : v) std::cout << x << ' ';
B. v.pop_back(); for(auto x : v) std::cout << x << ' ';
C. v.remove_end(); v.remove_end(); for(auto x : v) std::cout << x << ' ';
D. v.pop_back(2); for(auto x : v) std::cout << x << ' ';

Solution

  1. Step 1: Understand methods to delete multiple elements

    pop_back() removes only one element at a time. To remove two, it must be called twice. erase() can remove a range efficiently.
  2. Step 2: Analyze the snippets

    The snippet v.erase(v.end()-2, v.end()); for(auto x : v) std::cout << x << ' '; correctly removes the last two elements. The snippet with a single v.pop_back(); removes only one element. remove_end() does not exist. pop_back(2) uses invalid syntax.
  3. Final Answer:

    v.erase(v.end()-2, v.end()); for(auto x : v) std::cout << x << ' '; -> Option A
  4. Quick Check:

    erase() with range removes last two elements efficiently [OK]
Hint: Use erase(end()-2, end()) to delete last two elements [OK]
Common Mistakes:
  • Using pop_back() only once instead of twice
  • Using non-existent remove_end() method
  • Not knowing erase() can remove ranges
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