Bird
Raised Fist0
DSA C#programming~20 mins

Array Traversal Patterns in DSA C# - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Traversal Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of Nested Loop Traversal
What is the output of the following C# code that traverses a 2D array using nested loops?
DSA C#
int[,] matrix = { {1, 2}, {3, 4} };
for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 2; j++) {
        Console.Write(matrix[i, j] + " ");
    }
}
A1 2 3 4
B1 3 2 4
C4 3 2 1
D2 1 4 3
Attempts:
2 left
💡 Hint
Remember that the outer loop controls rows and the inner loop controls columns.
❓ Predict Output
intermediate
2:00remaining
Output of Reverse Array Traversal
What is the output of this C# code that traverses an array in reverse order?
DSA C#
int[] arr = {5, 10, 15, 20};
for (int i = arr.Length - 1; i >= 0; i--) {
    Console.Write(arr[i] + " ");
}
A15 20 10 5
B5 10 15 20
C20 10 15 5
D20 15 10 5
Attempts:
2 left
💡 Hint
The loop starts from the last index and moves backward.
🧠 Conceptual
advanced
2:30remaining
Understanding Zigzag Traversal Pattern
In a zigzag traversal of a 2D array, rows are traversed alternately from left to right and right to left. Given the 2D array below, what is the output of zigzag traversal?
DSA C#
int[,] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
// Zigzag traversal code not shown
A1 2 3 4 5 6 9 8 7
B1 2 3 6 5 4 9 8 7
C1 2 3 6 5 4 7 8 9
D1 2 3 4 5 6 7 8 9
Attempts:
2 left
💡 Hint
Odd rows are traversed right to left, even rows left to right.
🔧 Debug
advanced
2:00remaining
Identify the Error in Diagonal Traversal Code
What error will this C# code produce when trying to print the main diagonal of a 2D square array?
DSA C#
int[,] matrix = { {1, 2}, {3, 4} };
for (int i = 0; i < matrix.GetLength(0); i++) {
    Console.Write(matrix[i, i] + " ");
}
APrints: 1 4
BIndexOutOfRangeException
CNo output, infinite loop
DSyntaxError
Attempts:
2 left
💡 Hint
Check the loop boundary condition carefully.
🚀 Application
expert
3:00remaining
Count Unique Elements Using Array Traversal
Given an integer array, which code snippet correctly counts the number of unique elements using array traversal?
A
int count = 0;
for (int i = 0; i &lt; arr.Length; i++) {
    if (arr[i] != arr[i + 1]) count++;
}
Console.WriteLine(count);
B
int count = 0;
for (int i = 0; i &lt; arr.Length; i++) {
    bool isUnique = true;
    for (int j = 0; j &lt; i; j++) {
        if (arr[i] == arr[j]) {
            isUnique = false;
            break;
        }
    }
    if (isUnique) count++;
}
Console.WriteLine(count);
C
int count = 0;
for (int i = 0; i &lt; arr.Length; i++) {
    for (int j = i + 1; j &lt; arr.Length; j++) {
        if (arr[i] == arr[j]) count++;
    }
}
Console.WriteLine(count);
D
int count = 0;
HashSet&lt;int&gt; set = new HashSet&lt;int&gt;();
for (int i = 0; i &lt; arr.Length; i++) {
    set.Add(arr[i]);
}
count = set.Count;
Console.WriteLine(count);
Attempts:
2 left
💡 Hint
Check which code counts unique elements correctly without errors.

Practice

(1/5)
1. What does the following C# code do?
int[] arr = {1, 2, 3, 4};
for (int i = 0; i < arr.Length; i++) {
Console.Write(arr[i] + " ");
}
easy
A. Prints all elements of the array from start to end
B. Prints all elements of the array in reverse order
C. Prints only the first element of the array
D. Causes a runtime error due to wrong loop condition

Solution

  1. Step 1: Understand the loop range

    The loop starts at 0 and runs while i is less than arr.Length (4), so i goes 0,1,2,3.
  2. Step 2: Print elements in order

    Each iteration prints arr[i], so it prints 1 2 3 4 in order.
  3. Final Answer:

    Prints all elements of the array from start to end -> Option A
  4. Quick Check:

    Loop from 0 to length-1 prints all elements [OK]
Hint: Loop from 0 to length-1 prints all elements in order [OK]
Common Mistakes:
  • Thinking loop prints in reverse
  • Confusing loop condition with <= instead of <
  • Assuming only first element prints
2. Which of the following is the correct syntax to traverse an array arr in C# using a foreach loop?
easy
A. foreach (int i in arr) { Console.Write(i); }
B. foreach (arr in int i) { Console.Write(i); }
C. foreach (int arr in i) { Console.Write(i); }
D. foreach (int i; arr) { Console.Write(i); }

Solution

  1. Step 1: Recall foreach syntax

    The correct syntax is: foreach (type variable in collection) { ... }
  2. Step 2: Match syntax to options

    foreach (int i in arr) { Console.Write(i); } matches correct syntax: foreach (int i in arr) { Console.Write(i); }
  3. Final Answer:

    foreach (int i in arr) { Console.Write(i); } -> Option A
  4. Quick Check:

    foreach loops use 'variable in collection' syntax [OK]
Hint: Remember foreach uses 'variable in collection' syntax [OK]
Common Mistakes:
  • Swapping variable and collection order
  • Using semicolon instead of 'in'
  • Incorrect variable declaration inside foreach
3. What is the output of the following code?
int[] arr = {10, 20, 30, 40};
for (int i = arr.Length - 1; i >= 0; i--) {
  Console.Write(arr[i] + " ");
}
medium
A. 40 30 20
B. 10 20 30 40
C. 40 30 20 10
D. Runtime error due to loop condition

Solution

  1. Step 1: Analyze loop start and end

    Loop starts at arr.Length - 1 = 3 and runs while i >= 0, decrementing i each time.
  2. Step 2: Trace printed elements

    Prints arr[3]=40, arr[2]=30, arr[1]=20, arr[0]=10 in that order.
  3. Final Answer:

    40 30 20 10 -> Option C
  4. Quick Check:

    Loop from end to start prints reversed array [OK]
Hint: Loop from length-1 down to 0 prints array in reverse [OK]
Common Mistakes:
  • Confusing loop direction and printing forward
  • Off-by-one errors in loop condition
  • Assuming runtime error due to negative index
4. Find the error in this array traversal code:
int[] arr = {5, 10, 15};
for (int i = 0; i <= arr.Length; i++) {
  Console.Write(arr[i] + " ");
}
medium
A. Array declaration is incorrect
B. Variable i should start from 1, not 0
C. Console.Write should be Console.WriteLine
D. Loop condition should be i < arr.Length, not <= arr.Length

Solution

  1. Step 1: Check loop condition

    Loop runs while i <= arr.Length, but arr indices go from 0 to arr.Length - 1.
  2. Step 2: Identify out-of-range access

    When i == arr.Length (3), arr[3] is accessed causing runtime error (IndexOutOfRangeException).
  3. Final Answer:

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

    Array indices go 0 to length-1, use < not <= [OK]
Hint: Use i < arr.Length to avoid out-of-range errors [OK]
Common Mistakes:
  • Using <= instead of < in loop condition
  • Starting loop at 1 instead of 0
  • Confusing Write and WriteLine methods
5. Given an integer array arr, which code snippet correctly prints only the even-indexed elements (0, 2, 4, ...) of the array?
hard
A. foreach (int i in arr) { if (i % 2 == 0) Console.Write(i + " "); }
B. for (int i = 0; i < arr.Length; i += 2) { Console.Write(arr[i] + " "); }
C. for (int i = 1; i < arr.Length; i += 2) { Console.Write(arr[i] + " "); }
D. for (int i = 0; i < arr.Length; i++) { if (arr[i] % 2 == 0) Console.Write(arr[i] + " "); }

Solution

  1. Step 1: Understand requirement

    We want to print elements at even indexes: 0, 2, 4, ...
  2. Step 2: Analyze options

    for (int i = 0; i < arr.Length; i += 2) { Console.Write(arr[i] + " "); } increments i by 2 starting at 0, so it accesses even indexes correctly.
    for (int i = 1; i < arr.Length; i += 2) { Console.Write(arr[i] + " "); } accesses odd indexes.
    foreach (int i in arr) { if (i % 2 == 0) Console.Write(i + " "); } checks element values for evenness, not indexes.
    for (int i = 0; i < arr.Length; i++) { if (arr[i] % 2 == 0) Console.Write(arr[i] + " "); } prints elements with even values, not indexes.
  3. Final Answer:

    for (int i = 0; i < arr.Length; i += 2) { Console.Write(arr[i] + " "); } -> Option B
  4. Quick Check:

    Increment index by 2 from 0 to get even indexes [OK]
Hint: Increment loop index by 2 starting at 0 for even indexes [OK]
Common Mistakes:
  • Confusing even index with even element value
  • Starting loop at 1 for even indexes
  • Using foreach without index tracking
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