Bird
Raised Fist0
C++programming~10 mins

Array traversal in C++ - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Array traversal
Start at index 0
↓
Check: index < array_size?
No→EXIT
Yes↓
Access array[index
↓
Process element
↓
Increment index
↩Back to Check
We start at the first element (index 0), check if the index is within the array size, process the element, then move to the next index until we reach the end.
Execution Sample
C++
#include <iostream>
using namespace std;

int main() {
    int arr[] = {10, 20, 30};
    int n = 3;
    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    return 0;
}
This code prints each element of the array one by one.
Execution Table
IterationiCondition (i < n)ActionOutput
10TruePrint arr[0] = 1010
21TruePrint arr[1] = 2020
32TruePrint arr[2] = 3030
43FalseExit loop
💡 i reaches 3, condition 3 < 3 is False, loop ends
Variable Tracker
VariableStartAfter 1After 2After 3Final
iundefined0123
Output"""10 ""10 20 ""10 20 30 ""10 20 30 "
Key Moments - 3 Insights
Why does the loop stop when i equals the array size?
Because the condition i < n becomes false at i = 3 (array size), so the loop exits as shown in execution_table row 4.
Why do we start indexing from 0 instead of 1?
Arrays in C++ start at index 0, so the first element is arr[0]. This is why the loop starts with i = 0 (execution_table row 1).
What happens if we try to access arr[i] when i >= n?
Accessing arr[i] when i >= n causes undefined behavior (out of bounds). The loop condition prevents this by stopping before i reaches n (see exit condition in execution_table).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of i during the third iteration?
A1
B2
C3
D0
💡 Hint
Check the 'i' column in the third row of the execution_table.
At which iteration does the loop condition become false?
AIteration 4
BIteration 3
CIteration 2
DIteration 1
💡 Hint
Look at the 'Condition (i < n)' column where it becomes False in the execution_table.
If the array size n was 4 instead of 3, how many times would the loop run?
A5 times
B3 times
C4 times
D2 times
💡 Hint
The loop runs while i < n, so if n=4, it runs for i=0,1,2,3 (4 times).
Concept Snapshot
Array traversal in C++:
Use a for loop from i = 0 to i < array_size.
Access elements with arr[i].
Loop stops before i reaches array_size to avoid out-of-bounds.
Print or process each element inside the loop.
Full Transcript
This example shows how to traverse an array in C++. We start with index i at 0, check if i is less than the array size n, then access and print the element at arr[i]. After processing, we increase i by 1 and repeat. The loop stops when i equals n, preventing out-of-bounds access. The output prints each element separated by spaces.

Practice

(1/5)
1. What does array traversal mean in C++ programming?
easy
A. Visiting each element of the array one by one
B. Creating a new array with the same elements
C. Sorting the array elements in order
D. Deleting elements from the array

Solution

  1. Step 1: Understand the term 'array traversal'

    Array traversal means going through each element in the array in sequence.
  2. Step 2: Match the definition to the options

    Visiting each element of the array one by one correctly describes visiting each element one by one.
  3. Final Answer:

    Visiting each element of the array one by one -> Option A
  4. Quick Check:

    Array traversal = visiting elements in order [OK]
Hint: Traversal means visiting all elements one by one [OK]
Common Mistakes:
  • Confusing traversal with sorting
  • Thinking traversal means deleting elements
  • Mixing traversal with copying arrays
2. Which of the following is the correct syntax to traverse an array arr of size n in C++?
easy
A. for(int i = 1; i <= n; i++) { /* access arr[i] */ }
B. for(int i = n; i > 0; i--) { /* access arr[i] */ }
C. for(int i = 0; i <= n; i++) { /* access arr[i] */ }
D. for(int i = 0; i < n; i++) { /* access arr[i] */ }

Solution

  1. Step 1: Identify valid index range for array traversal

    Array indices in C++ start at 0 and go up to n-1, so loop should run from 0 to less than n.
  2. Step 2: Check each option's loop condition

    for(int i = 0; i < n; i++) { /* access arr[i] */ } uses i from 0 to i < n, which is correct. Others either start at 1 or go out of bounds.
  3. Final Answer:

    for(int i = 0; i < n; i++) { /* access arr[i] */ } -> Option D
  4. Quick Check:

    Loop from 0 to n-1 = correct traversal [OK]
Hint: Array indices start at 0, loop till less than size [OK]
Common Mistakes:
  • Starting loop at 1 instead of 0
  • Using <= n causing out-of-bounds access
  • Decrementing loop without correct index
3. What is the output of the following C++ code?
int arr[] = {2, 4, 6};
for(int i = 0; i < 3; i++) {
    std::cout << arr[i] << " ";
}
medium
A. 0 2 4 6
B. 2 4 6 0
C. 2 4 6
D. 6 4 2

Solution

  1. Step 1: Understand the loop and array elements

    The array has elements 2, 4, 6 at indices 0, 1, 2. The loop runs from i=0 to i=2.
  2. Step 2: Print elements in order

    Each iteration prints arr[i] followed by a space: 2, then 4, then 6.
  3. Final Answer:

    2 4 6 -> Option C
  4. Quick Check:

    Print elements in order = 2 4 6 [OK]
Hint: Loop prints elements in order from index 0 to 2 [OK]
Common Mistakes:
  • Expecting extra zero at end
  • Printing elements in reverse order
  • Confusing array indices with values
4. Identify the error in this C++ code snippet for array traversal:
int arr[4] = {1, 2, 3, 4};
for(int i = 0; i <= 4; i++) {
    std::cout << arr[i] << " ";
}
medium
A. Loop condition should be i < 4, not i <= 4
B. Array size should be 5 instead of 4
C. Loop variable i should start from 1
D. No error, code is correct

Solution

  1. Step 1: Check loop condition against array size

    The array has size 4, valid indices are 0 to 3. Loop runs while i <= 4, which includes i=4 (out of bounds).
  2. Step 2: Correct the loop condition

    Change condition to i < 4 to avoid accessing arr[4] which is invalid.
  3. Final Answer:

    Loop condition should be i < 4, not i <= 4 -> Option A
  4. Quick Check:

    Loop must stay within 0 to size-1 [OK]
Hint: Loop index must be less than array size, not less or equal [OK]
Common Mistakes:
  • Using <= instead of < causing out-of-bounds
  • Starting loop at 1 instead of 0
  • Increasing array size unnecessarily
5. Given an integer array arr of size n, which code snippet correctly calculates the sum of all elements using array traversal?
hard
A. int sum = arr[0]; for(int i = 1; i <= n; i++) { sum += arr[i]; }
B. int sum = 0; for(int i = 0; i < n; i++) { sum += arr[i]; }
C. int sum = 0; for(int i = 1; i < n; i++) { sum += arr[i]; }
D. int sum = 0; for(int i = 0; i <= n; i++) { sum += arr[i]; }

Solution

  1. Step 1: Initialize sum and loop correctly

    Sum should start at 0. Loop must run from i=0 to i < n to include all elements.
  2. Step 2: Check each option for correctness

    int sum = 0; for(int i = 0; i < n; i++) { sum += arr[i]; } initializes sum to 0 and loops correctly. Others either start sum wrong or loop out of bounds.
  3. Final Answer:

    int sum = 0; for(int i = 0; i < n; i++) { sum += arr[i]; } -> Option B
  4. Quick Check:

    Sum all elements from index 0 to n-1 [OK]
Hint: Start sum at 0 and loop from 0 to less than n [OK]
Common Mistakes:
  • Starting sum with arr[0] and looping incorrectly
  • Looping with i <= n causing out-of-bounds
  • Skipping first element by starting at i=1
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