Bird
Raised Fist0
DSA C++programming~30 mins

Array Traversal Patterns in DSA C++ - Build from Scratch

Choose your learning style10 modes available
Array Traversal Patterns
📖 Scenario: You are helping a small grocery store manage their daily sales data. The store records the number of items sold each day in an array. You want to analyze this data by visiting each day's sales count one by one.
🎯 Goal: Build a simple C++ program that creates an array of daily sales, sets up a counter for total sales, traverses the array to sum all sales, and finally prints the total sales.
📋 What You'll Learn
Create an integer array named dailySales with exactly these values: 5, 8, 12, 3, 7
Create an integer variable named totalSales and initialize it to 0
Use a for loop with an integer variable i to traverse the dailySales array from start to end
Inside the loop, add the current day's sales to totalSales
Print the value of totalSales after the loop finishes
💡 Why This Matters
🌍 Real World
Stores and businesses often keep daily sales data in arrays or lists. Traversing these arrays helps calculate totals, averages, or other statistics to understand performance.
💼 Career
Understanding array traversal is fundamental for software developers working with data processing, reporting, and analytics in many industries.
Progress0 / 4 steps
1
Create the daily sales array
Create an integer array called dailySales with these exact values: 5, 8, 12, 3, 7
DSA C++
Hint

Use C++ array syntax with size 5 and initialize it with the given numbers inside curly braces.

2
Initialize total sales counter
Create an integer variable called totalSales and set it to 0
DSA C++
Hint

Declare an integer variable and assign it zero to start counting total sales.

3
Traverse the array and sum sales
Use a for loop with an integer variable i to traverse the dailySales array from index 0 to 4. Inside the loop, add dailySales[i] to totalSales
DSA C++
Hint

Use a for loop starting at 0, ending before 5, and add each element to totalSales inside the loop.

4
Print the total sales
Write a std::cout statement to print the value of totalSales
DSA C++
Hint

Use std::cout << totalSales << std::endl; to print the total sales.

Practice

(1/5)
1. What does the following loop do when traversing an array arr of size n?

for (int i = 0; i < n; i++) { /* code */ }
easy
A. It visits each element from the first to the last in order.
B. It visits elements in reverse order from last to first.
C. It visits only even-indexed elements.
D. It skips the first element and visits the rest.

Solution

  1. Step 1: Understand the loop variable and range

    The loop variable i starts at 0 and increases by 1 until it reaches n-1.
  2. Step 2: Determine the traversal order

    Since i increments from 0 to n-1, the loop visits elements from the first to the last in order.
  3. Final Answer:

    It visits each element from the first to the last in order. -> Option A
  4. Quick Check:

    Forward traversal = It visits each element from the first to the last in order. [OK]
Hint: Loop from 0 to n-1 means forward traversal [OK]
Common Mistakes:
  • Thinking it visits elements in reverse order
  • Assuming it skips elements
  • Confusing index start with 1 instead of 0
2. Which of the following is the correct syntax to traverse an array arr of size n backwards in C++?
easy
A. for (int i = n-1; i >= 0; i--) { /* code */ }
B. for (int i = 0; i < n; i++) { /* code */ }
C. for (int i = n; i > 0; i--) { /* code */ }
D. for (int i = n-1; i <= 0; i--) { /* code */ }

Solution

  1. Step 1: Identify correct start and end conditions

    To traverse backwards, start at n-1 (last index) and go down to 0.
  2. Step 2: Check loop condition and decrement

    The loop must continue while i >= 0 and decrement i-- each time.
  3. Final Answer:

    for (int i = n-1; i >= 0; i--) { /* code */ } -> Option A
  4. Quick Check:

    Backward loop: start=n-1, end=0, decrement [OK]
Hint: Backward loop starts at n-1 and decrements to 0 [OK]
Common Mistakes:
  • Using i <= 0 instead of i >= 0
  • Starting at n instead of n-1
  • Incrementing instead of decrementing
3. What is the output of the following C++ code?

int arr[] = {10, 20, 30, 40, 50};
int n = 5;
for (int i = 1; i < n; i += 2) {
    std::cout << arr[i] << " ";
}
medium
A. 10 30 50
B. 20 40 50
C. 10 20 30 40 50
D. 20 40

Solution

  1. Step 1: Identify loop indices visited

    The loop starts at i=1 and increments by 2: i=1, 3, then stops before 5.
  2. Step 2: Find elements at these indices

    arr[1] = 20, arr[3] = 40. These are printed separated by space.
  3. Final Answer:

    20 40 -> Option D
  4. Quick Check:

    Indices 1 and 3 values = 20 40 [OK]
Hint: Step by 2 from 1 visits odd indices [OK]
Common Mistakes:
  • Including index 5 which is out of bounds
  • Starting from 0 instead of 1
  • Printing all elements instead of skipping
4. Find the error in the following code snippet that tries to print all elements of an array arr of size n:

for (int i = 0; i <= n; i++) {
    std::cout << arr[i] << " ";
}
medium
A. The loop should increment i-- instead of i++.
B. The loop condition should be i < n instead of i <= n.
C. The array index should be i-1 inside the loop.
D. The loop variable i should start from 1.

Solution

  1. Step 1: Analyze loop boundary condition

    The loop runs while i <= n, so it accesses arr[n] which is out of bounds.
  2. Step 2: Correct the loop condition

    Change condition to i < n to access valid indices 0 to n-1.
  3. Final Answer:

    The loop condition should be i < n instead of i <= n. -> Option B
  4. Quick Check:

    Array indices 0 to n-1 valid, not n [OK]
Hint: Array indices go from 0 to n-1, not n [OK]
Common Mistakes:
  • Using <= n causes out-of-bounds access
  • Starting loop at 1 misses first element
  • Decrementing i in a forward loop
5. Given an array arr of size n, which code snippet correctly prints elements at even indices in reverse order?
hard
A. for (int i = n-1; i >= 0; i -= 2) { std::cout << arr[i] << " "; }
B. for (int i = 0; i < n; i += 2) { std::cout << arr[i] << " "; }
C. for (int i = (n % 2 == 0 ? n-2 : n-1); i >= 0; i -= 2) { std::cout << arr[i] << " "; }
D. for (int i = n-2; i <= 0; i -= 2) { std::cout << arr[i] << " "; }

Solution

  1. Step 1: Determine the highest even index to start

    If n is even, highest even index is n-2; if odd, it's n-1.
  2. Step 2: Loop backwards by 2 from that index down to 0

    The loop decrements i by 2 each time, printing even indices in reverse order.
  3. Final Answer:

    for (int i = (n % 2 == 0 ? n-2 : n-1); i >= 0; i -= 2) { std::cout << arr[i] << " "; } -> Option C
  4. Quick Check:

    Start at highest even index, decrement by 2 [OK]
Hint: Start at highest even index, decrement by 2 [OK]
Common Mistakes:
  • Starting at n-1 always (may be odd index)
  • Loop condition incorrect (i <= 0 instead of i >= 0)
  • Incrementing instead of decrementing in reverse
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