📖 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
Step 1: Understand the loop variable and range
The loop variable i starts at 0 and increases by 1 until it reaches n-1.
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.
Final Answer:
It visits each element from the first to the last in order. -> Option A
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
Step 1: Identify correct start and end conditions
To traverse backwards, start at n-1 (last index) and go down to 0.
Step 2: Check loop condition and decrement
The loop must continue while i >= 0 and decrement i-- each time.
Final Answer:
for (int i = n-1; i >= 0; i--) { /* code */ } -> Option A
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
Step 1: Identify loop indices visited
The loop starts at i=1 and increments by 2: i=1, 3, then stops before 5.
Step 2: Find elements at these indices
arr[1] = 20, arr[3] = 40. These are printed separated by space.
Final Answer:
20 40 -> Option D
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
Step 1: Analyze loop boundary condition
The loop runs while i <= n, so it accesses arr[n] which is out of bounds.
Step 2: Correct the loop condition
Change condition to i < n to access valid indices 0 to n-1.
Final Answer:
The loop condition should be i < n instead of i <= n. -> Option B
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
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.
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.
Final Answer:
for (int i = (n % 2 == 0 ? n-2 : n-1); i >= 0; i -= 2) { std::cout << arr[i] << " "; } -> Option C
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 unknownstrongwhile earning +1 Grip toward your certificate.