Bird
Raised Fist0
C++programming~10 mins

Common array operations in C++ - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Common array operations
Start
↓
Initialize array
↓
Access elements by index
↓
Modify elements
↓
Traverse array with loop
↓
Search for element
↓
Insert or update elements
↓
End
This flow shows how we start with an array, access and change elements, loop through them, search, and update values.
Execution Sample
C++
#include <iostream>
using namespace std;

int main() {
  int arr[5] = {10, 20, 30, 40, 50};
  arr[2] = 35;
  for(int i = 0; i < 5; i++) {
    cout << arr[i] << " ";
  }
  return 0;
}
This code creates an array, changes one element, then prints all elements.
Execution Table
StepOperationIndex/VariableValue/ActionArray StateOutput
1Initialize array-{10, 20, 30, 40, 50}{10, 20, 30, 40, 50}
2Modify elementarr[2]35{10, 20, 35, 40, 50}
3Loop starti=0-{10, 20, 35, 40, 50}
4Print elementarr[0]10{10, 20, 35, 40, 50}10
5Increment ii=1-{10, 20, 35, 40, 50}10
6Print elementarr[1]20{10, 20, 35, 40, 50}10 20
7Increment ii=2-{10, 20, 35, 40, 50}10 20
8Print elementarr[2]35{10, 20, 35, 40, 50}10 20 35
9Increment ii=3-{10, 20, 35, 40, 50}10 20 35
10Print elementarr[3]40{10, 20, 35, 40, 50}10 20 35 40
11Increment ii=4-{10, 20, 35, 40, 50}10 20 35 40
12Print elementarr[4]50{10, 20, 35, 40, 50}10 20 35 40 50
13Increment ii=5-{10, 20, 35, 40, 50}10 20 35 40 50
14Check loop conditioni < 5False{10, 20, 35, 40, 50}10 20 35 40 50
💡 Loop ends when i reaches 5, condition i < 5 is False
Variable Tracker
VariableStartAfter Step 2After Step 5After Step 7After Step 9After Step 11Final
arr{10,20,30,40,50}{10,20,35,40,50}{10,20,35,40,50}{10,20,35,40,50}{10,20,35,40,50}{10,20,35,40,50}{10,20,35,40,50}
i--12345
Key Moments - 3 Insights
Why does arr[2] change from 30 to 35?
Because at step 2 we assign arr[2] = 35, which updates the third element in the array as shown in the execution_table row 2.
Why does the loop stop after i reaches 5?
At step 14, the condition i < 5 becomes False, so the loop ends. This is shown clearly in the execution_table row 14.
Why do we start counting i from 0 in the loop?
Arrays in C++ start at index 0, so to access all elements from first to last, we loop i from 0 up to 4 (less than 5). This is shown in the loop steps 3 to 13.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of arr[2] after step 2?
A30
B20
C35
D40
💡 Hint
Check the 'Modify element' operation at step 2 in the execution_table.
At which step does the loop condition become false?
AStep 14
BStep 13
CStep 12
DStep 11
💡 Hint
Look at the 'Check loop condition' row in the execution_table.
If we changed the loop to i < 3, how many elements would be printed?
A2
B3
C5
D4
💡 Hint
Refer to the variable_tracker for i values and loop condition in execution_table.
Concept Snapshot
Common array operations in C++:
- Declare: int arr[5] = {10,20,30,40,50};
- Access: arr[index], index starts at 0
- Modify: arr[2] = 35;
- Loop: for(int i=0; i<5; i++) to traverse
- Arrays have fixed size
- Index out of bounds causes errors
Full Transcript
This visual trace shows common array operations in C++. We start by creating an array with 5 elements. Then we change the third element from 30 to 35. Next, we use a for loop to print all elements from index 0 to 4. The loop stops when the index reaches 5 because the condition i < 5 becomes false. Variables like the array and loop index change step by step, which is tracked in the tables. This helps beginners see exactly how arrays work in C++.

Practice

(1/5)
1. What does the following C++ code do?
int arr[5] = {1, 2, 3, 4, 5};
easy
A. Creates an array of 5 integers with values 1 to 5
B. Creates a vector of 5 integers with values 1 to 5
C. Creates a pointer to an integer array
D. Declares an uninitialized array of size 5

Solution

  1. Step 1: Understand array declaration

    The code declares an integer array named arr with size 5.
  2. Step 2: Check initialization

    The array is initialized with values 1, 2, 3, 4, 5 in order.
  3. Final Answer:

    Creates an array of 5 integers with values 1 to 5 -> Option A
  4. Quick Check:

    Array declaration with initialization = Creates array with values [OK]
Hint: Array size and values in braces means initialized array [OK]
Common Mistakes:
  • Confusing array with vector
  • Thinking it's a pointer declaration
  • Assuming array is uninitialized
2. Which of the following is the correct syntax to access the third element of an array named arr in C++?
easy
A. arr[3];
B. arr(3);
C. arr{3};
D. arr[2];

Solution

  1. Step 1: Recall zero-based indexing

    Arrays in C++ start at index 0, so the third element is at index 2.
  2. Step 2: Identify correct syntax for access

    Array elements are accessed using square brackets, so arr[2] is correct.
  3. Final Answer:

    arr[2]; -> Option D
  4. Quick Check:

    Third element index = 2, use square brackets [OK]
Hint: Remember arrays start at 0, so third element is index 2 [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Using 1-based indexing
  • Using curly braces for access
3. What is the output of this C++ code?
int arr[4] = {10, 20, 30, 40};
int sum = 0;
for(int i = 0; i < 4; i++) {
    sum += arr[i];
}
std::cout << sum;
medium
A. 100
B. 90
C. 40
D. 10

Solution

  1. Step 1: Identify array elements and loop

    The array has elements 10, 20, 30, 40 and the loop runs from i=0 to 3.
  2. Step 2: Calculate sum of elements

    sum = 10 + 20 + 30 + 40 = 100
  3. Final Answer:

    100 -> Option A
  4. Quick Check:

    Sum of all elements = 100 [OK]
Hint: Add all elements in loop to get sum [OK]
Common Mistakes:
  • Stopping loop early
  • Using wrong indices
  • Printing sum before loop
4. Find the error in this C++ code that tries to print all elements of an array:
int arr[3] = {5, 10, 15};
for(int i = 1; i <= 3; i++) {
    std::cout << arr[i] << " ";
}
medium
A. Loop index starts at 1 instead of 0
B. Array size is incorrect
C. Using <= causes out-of-bounds access
D. Missing semicolon after cout statement

Solution

  1. Step 1: Analyze loop indices

    The loop runs i from 1 to 3 inclusive, so i=3 is included.
  2. Step 2: Check array bounds

    Array indices are 0,1,2. Accessing arr[3] is out-of-bounds and causes error.
  3. Final Answer:

    Using <= causes out-of-bounds access -> Option C
  4. Quick Check:

    Loop must use i < size, not <= [OK]
Hint: Use i < size, not i <= size in loops [OK]
Common Mistakes:
  • Starting loop at 1 instead of 0 (not error but unusual)
  • Ignoring out-of-bounds access
  • Assuming array size is wrong
5. You have an array int arr[6] = {2, 4, 6, 8, 10, 12};. How do you update the element with value 8 to 9 using a loop?
hard
A. arr[3] = 9;
B. for(int i=0; i<6; i++) { if(arr[i] == 8) arr[i] = 9; }
C. for(int i=1; i<=6; i++) { if(arr[i] == 8) arr[i] = 9; }
D. arr[4] = 9;

Solution

  1. Step 1: Understand the problem

    We want to find the element with value 8 and update it to 9 using a loop.
  2. Step 2: Check loop and condition

    Loop from i=0 to 5 checks each element; if arr[i] == 8, assign arr[i] = 9.
  3. Final Answer:

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

    Loop with condition to find and update element [OK]
Hint: Loop through array, check value, then update [OK]
Common Mistakes:
  • Using wrong indices in loop
  • Assigning wrong array index
  • Not using loop to find value
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