Bird
0
0
DSA Cprogramming~20 mins

Array Traversal Patterns in DSA C - Practice Problems & Challenges

Choose your learning style9 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 Array Traversal
What is the printed output of the following C code snippet that traverses a 2D array?
DSA C
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d ", arr[i][j]);
    }
    printf("\n");
}
A1 2 3 4 5 6 \n
B4 5 6 \n1 2 3 \n
C1 4 2 \n3 5 6 \n
D1 2 3 \n4 5 6 \n
Attempts:
2 left
💡 Hint
Think about how the outer loop controls rows and the inner loop controls columns.
Predict Output
intermediate
2:00remaining
Output of Single Loop Traversal with Step
What is the output of this C code that traverses an array with a step of 2?
DSA C
int arr[] = {10, 20, 30, 40, 50, 60};
int n = 6;
for (int i = 0; i < n; i += 2) {
    printf("%d ", arr[i]);
}
A10 30 50
B20 40 60
C10 20 30 40 50 60
D60 50 40 30 20 10
Attempts:
2 left
💡 Hint
The loop increments by 2, so it skips every other element.
🔧 Debug
advanced
2:00remaining
Identify the Error in Reverse Array Traversal
What error does this C code produce when trying to print an array in reverse?
DSA C
int arr[] = {1, 2, 3, 4, 5};
int n = 5;
for (int i = n - 1; i >= 0; i--) {
    printf("%d ", arr[i]);
}
APrints: 5 4 3 2 1
BCompilation error: invalid loop condition
CPrints: 5 4 3 2 1 0 (out of bounds access)
DRuntime error: Array index out of bounds
Attempts:
2 left
💡 Hint
Check the starting index and valid array indices.
🧠 Conceptual
advanced
2:00remaining
Understanding Traversal Order in Zigzag Pattern
Given a 2D array, which traversal pattern prints elements in a zigzag order (left to right on even rows, right to left on odd rows)?
DSA C
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
for (int i = 0; i < 3; i++) {
    if (i % 2 == 0) {
        for (int j = 0; j < 3; j++) {
            printf("%d ", arr[i][j]);
        }
    } else {
        for (int j = 2; j >= 0; j--) {
            printf("%d ", arr[i][j]);
        }
    }
    printf("\n");
}
A3 2 1 \n4 5 6 \n9 8 7 \n
B1 2 3 \n4 5 6 \n7 8 9 \n
C1 2 3 \n6 5 4 \n7 8 9 \n
D1 3 2 \n4 6 5 \n7 9 8 \n
Attempts:
2 left
💡 Hint
Even rows go left to right, odd rows go right to left.
🚀 Application
expert
3:00remaining
Count Unique Elements Using Array Traversal
Given an unsorted integer array, which code snippet correctly counts the number of unique elements using only array traversal and no extra data structures?
DSA C
int arr[] = {2, 3, 2, 4, 3, 5};
int n = 6;
int count = 0;
for (int i = 0; i < n; i++) {
    int j;
    for (j = 0; j < i; j++) {
        if (arr[i] == arr[j]) {
            break;
        }
    }
    if (j == i) {
        count++;
    }
}
printf("%d", count);
A5
B4
C3
D6
Attempts:
2 left
💡 Hint
Count increments only when current element is not found before in the array.