Bird
Raised Fist0
C++programming~20 mins

One-dimensional arrays in C++ - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of array sum calculation
What is the output of this C++ code that sums elements of an array?
C++
#include <iostream>
int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int sum = 0;
    for(int i = 0; i < 5; i++) {
        sum += arr[i];
    }
    std::cout << sum << std::endl;
    return 0;
}
A14
BError: array index out of bounds
C15
D10
Attempts:
2 left
💡 Hint
Add all numbers from 1 to 5.
❓ Predict Output
intermediate
2:00remaining
Value of array element after modification
What is the value of arr[2] after running this code?
C++
#include <iostream>
int main() {
    int arr[4] = {10, 20, 30, 40};
    arr[2] = arr[1] + arr[3];
    std::cout << arr[2] << std::endl;
    return 0;
}
A60
B50
C30
DCompilation error
Attempts:
2 left
💡 Hint
arr[2] is set to arr[1] + arr[3].
🔧 Debug
advanced
2:00remaining
Identify the error in array initialization
What error does this code produce?
C++
#include <iostream>
int main() {
    int arr[3] = {1, 2, 3, 4};
    std::cout << arr[0] << std::endl;
    return 0;
}
ARuntime error: array index out of bounds
BNo error, outputs 4
COutput: 1
DCompilation error: too many initializers for 'int [3]'
Attempts:
2 left
💡 Hint
Array size is 3 but 4 values are given.
📝 Syntax
advanced
2:00remaining
Correct syntax to declare and initialize an array
Which option correctly declares and initializes an array of 4 integers with values 5, 10, 15, 20?
Aint arr[4] = {5, 10, 15, 20};
Bint arr[4] = (5, 10, 15, 20);
Cint arr[] = {5, 10, 15, 20};
Dint arr = {5, 10, 15, 20};
Attempts:
2 left
💡 Hint
Use curly braces and specify size correctly.
🚀 Application
expert
2:00remaining
Find the number of elements greater than 10
What is the output of this program that counts elements greater than 10 in an array?
C++
#include <iostream>
int main() {
    int arr[6] = {5, 12, 7, 18, 10, 20};
    int count = 0;
    for(int i = 0; i < 6; i++) {
        if(arr[i] > 10) {
            count++;
        }
    }
    std::cout << count << std::endl;
    return 0;
}
A2
B3
C5
D4
Attempts:
2 left
💡 Hint
Count how many numbers are strictly greater than 10.

Practice

(1/5)
1. What is the starting index of a one-dimensional array in C++?
easy
A. -1
B. 1
C. 0
D. Depends on the array size

Solution

  1. Step 1: Understand array indexing in C++

    Arrays in C++ always start indexing from 0, meaning the first element is at index 0.
  2. Step 2: Confirm the index range

    Indexes go from 0 up to size-1, so the first index is always 0 regardless of array size.
  3. Final Answer:

    0 -> Option C
  4. Quick Check:

    Array indexing starts at 0 [OK]
Hint: Remember: C++ arrays always start at zero index [OK]
Common Mistakes:
  • Thinking arrays start at 1
  • Assuming negative indexes are valid
  • Confusing with other languages
2. Which of the following is the correct way to declare an integer array of size 5 in C++?
easy
A. array<int> arr(5);
B. int arr(5);
C. int arr = new int[5];
D. int arr[5];

Solution

  1. Step 1: Recall C++ array declaration syntax

    In C++, a fixed-size array is declared using square brackets with size: int arr[5];
  2. Step 2: Check other options for correctness

    int arr(5); uses parentheses which is invalid for arrays. array<int> arr(5); uses incorrect syntax (not standard array). int arr = new int[5]; uses dynamic allocation syntax but is incorrect without pointer.
  3. Final Answer:

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

    Fixed-size arrays use square brackets [OK]
Hint: Use square brackets [] to declare fixed-size arrays [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Confusing with vector syntax
  • Incorrect dynamic allocation syntax
3. What will be the output of the following code?
int arr[4] = {10, 20, 30, 40};
std::cout << arr[2];
medium
A. 30
B. 20
C. 40
D. Compilation error

Solution

  1. Step 1: Identify the array elements and indexes

    The array arr has elements: arr[0]=10, arr[1]=20, arr[2]=30, arr[3]=40.
  2. Step 2: Access the element at index 2

    arr[2] is 30, so std::cout will print 30.
  3. Final Answer:

    30 -> Option A
  4. Quick Check:

    arr[2] = 30 [OK]
Hint: Remember array index starts at 0, so arr[2] is third element [OK]
Common Mistakes:
  • Confusing index 2 with 1 or 3
  • Expecting output 20 or 40
  • Thinking code causes error
4. Identify the error in the following code snippet:
int arr[3] = {1, 2, 3};
for(int i = 0; i <= 3; i++) {
    std::cout << arr[i] << " ";
}
medium
A. Missing semicolon after array declaration
B. Loop runs one time too many, causing out-of-bounds access
C. Syntax error in for loop declaration
D. Array size is incorrect, should be 4

Solution

  1. Step 1: Analyze the loop range and array size

    The array has size 3 with valid indexes 0,1,2. The loop runs from i=0 to i=3 inclusive, which means 4 iterations.
  2. Step 2: Identify out-of-bounds access

    When i=3, arr[3] is accessed, which is outside the array bounds and causes undefined behavior.
  3. Final Answer:

    Loop runs one time too many, causing out-of-bounds access -> Option B
  4. Quick Check:

    Loop index must be less than array size [OK]
Hint: Loop index must be less than array size, not less or equal [OK]
Common Mistakes:
  • Using <= instead of <
  • Assuming array size is 4
  • Ignoring out-of-bounds errors
5. Given an integer array arr of size n, which code snippet correctly calculates the sum of all elements?
hard
A. int sum = 0; for(int i = 0; i < n; i++) sum += arr[i];
B. int sum = 0; for(int i = 1; i < n; i++) sum += arr[i];
C. int sum = 0; for(int i = 0; i <= n; i++) sum += arr[i];
D. int sum = arr[0]; for(int i = 1; i < n; i++) sum = arr[i];

Solution

  1. Step 1: Understand correct loop bounds for array traversal

    Array indexes go from 0 to n-1, so loop must run i from 0 to less than n.
  2. Step 2: Check each option for correctness

    int sum = 0; for(int i = 1; i < n; i++) sum += arr[i]; starts from 1, missing arr[0]. int sum = 0; for(int i = 0; i <= n; i++) sum += arr[i]; uses <= n, causing out-of-bounds access. int sum = 0; for(int i = 0; i < n; i++) sum += arr[i]; correctly sums all elements from 0 to n-1. int sum = arr[0]; for(int i = 1; i < n; i++) sum = arr[i]; overwrites sum instead of adding.
  3. Final Answer:

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

    Loop from 0 to n-1 sums all elements [OK]
Hint: Loop from 0 to less than n to cover all elements [OK]
Common Mistakes:
  • Starting loop at 1
  • Using <= n causing errors
  • Overwriting sum instead of adding
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