AP CSA 4.12 Exercise 2: Traversing 2D Arrays Applied Practice

Unit 4: Data Collections · Lesson 4.12 · Exercise 2

Traversing 2D Arrays: Applied Practice

Six scenarios on nested loops, row-major versus column-major order, and the traversals that are not rectangular at all.

How this one is different

The exercise-1 editor asks you to write the nested loop. These six ask what the loop order actually visits, and which problems need something other than every cell in order.

Applied Practice

6 questions · scenario driven · every answer is recorded for your teacher

Question 1 of 6Apply
A nested loop runs the row index in the outer loop and the column index in the inner loop.
In what order are cells visited?
Correct. Correct. The inner loop always finishes before the outer index advances, so a full row completes first.
Incorrect. A diagonal traversal needs a single index used for both subscripts.
Incorrect. The order is completely determined by the loop structure.
Incorrect. That is column-major, and it requires swapping which index is on the outside.
Question 2 of 6Analyze
A method must total each COLUMN of a rectangular grid separately.
How should the loops be arranged?
Incorrect. One loop cannot reach individual cells of a 2D array.
Incorrect. Separate loops never pair a row with a column, so no cell is ever addressed.
Incorrect. That completes rows, so the accumulator would hold row totals rather than column totals.
Correct. Correct. Whichever index is on the OUTSIDE is the dimension whose totals you get.
Question 3 of 6Apply
A nested loop over a jagged 2D array uses grid[0].length as the inner bound.
What is the risk?
Incorrect. The outer bound is unaffected.
Incorrect. That assumption is exactly what jagged arrays violate.
Correct. Correct, and the two failure modes are different: one crashes and one quietly loses data.
Incorrect. Each cell is visited at most once.
Question 4 of 6Analyze
A method must find the largest value anywhere in a grid and report its row and column.
What must be tracked?
Incorrect. The value alone cannot report a position.
Correct. Correct, and the two coordinates must be updated in the same block as the value so they cannot drift apart.
Incorrect. Row maxima are more work and still do not directly give the global position.
Incorrect. That answers an unrelated question.
Question 5 of 6Evaluate
An enhanced for loop is written over a 2D array as for (int[] row : grid).
What does the loop variable hold, and what can it do?
Correct. Correct, and this is the one case where an enhanced for CAN modify the underlying data, because the copied value is a reference.
Incorrect. The reference is copied, not the row. Both point at the same array.
Incorrect. It compiles and is a common idiom.
Incorrect. Reaching individual cells requires a second, inner loop.
Question 6 of 6Apply
A method must visit only the cells on the main diagonal of a square grid.
Which loop does that?
Incorrect. That visits the first column, not the diagonal.
Incorrect. That visits the entire lower triangle rather than only the diagonal.
Incorrect. Correct results, but it examines every cell to select the few on the diagonal.
Correct. Correct. The diagonal is exactly the cells whose row and column agree, so one index expresses it.

Where to go next

Get in Touch

Whether you're a student, parent, or teacher — I'd love to hear from you.

Just want free AP CS resources?

Enter your email below and check the subscribe box — no message needed. Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.

Typically responds within 24 hours

Message Sent!

Thanks for reaching out. I'll get back to you within 24 hours.

🏫 Welcome, fellow educator!

I offer curriculum resources, practice materials, and study guides designed for AP CS teachers. Let me know what you're looking for — whether it's classroom materials, a guest speaker, or Teachers Pay Teachers resources.

Email

[email protected]

📚

Courses

AP CSA, CSP, & Cybersecurity

Response Time

Within 24 hours

Prefer email? Reach me directly at [email protected]