📖 Scenario: Imagine you are organizing seats in a small movie theater. The theater has rows and columns of seats. You want to keep track of which seats are taken and which are free.
🎯 Goal: You will create a multi-dimensional array to represent the seats, mark some seats as taken, and then print the seating arrangement.
📋 What You'll Learn
Create a 2D array called seats with 3 rows and 4 columns
Use string values: "Free" or "Taken" to mark seats
Mark specific seats as taken using row and column indexes
Print the seating arrangement row by row
💡 Why This Matters
🌍 Real World
Multi-dimensional arrays are useful to represent grids, tables, or layouts like seating charts, game boards, or pixel maps.
💼 Career
Understanding multi-dimensional arrays helps in software development tasks involving data organization, UI layouts, and simulations.
Progress0 / 4 steps
1
Create a 3x4 multi-dimensional array
Create a 2D string array called seats with 3 rows and 4 columns. Initialize all seats with the value "Free".
C Sharp (C#)
Hint
Use string[,] seats = new string[3, 4] and initialize each row with 4 "Free" strings.
2
Mark some seats as taken
Change the seat at row 0, column 1 and the seat at row 2, column 3 to "Taken".
C Sharp (C#)
Hint
Use the syntax seats[row, column] = "Taken"; to mark seats.
3
Loop through the seats to prepare output
Use nested for loops with variables row and col to go through each seat in seats. Inside the inner loop, build a string called rowSeats that joins seat statuses separated by spaces for each row.
C Sharp (C#)
Hint
Use seats.GetLength(0) for rows and seats.GetLength(1) for columns. Add each seat to rowSeats with a space.
4
Print the seating arrangement
Run the program to print the seating arrangement showing which seats are "Free" and which are "Taken".
C Sharp (C#)
Hint
Run the program and check the console output matches the seating arrangement.
Practice
(1/5)
1. What is a multi-dimensional array in C#?
easy
A. An array that can only hold one value
B. An array that stores only strings
C. An array with more than one dimension, like rows and columns
D. A list of unrelated variables
Solution
Step 1: Understand array dimensions
A multi-dimensional array stores data in multiple dimensions, such as rows and columns, unlike a simple one-dimensional array.
Step 2: Recognize the definition
An array with more than one dimension, like rows and columns correctly describes a multi-dimensional array as having more than one dimension, like a table with rows and columns.
Final Answer:
An array with more than one dimension, like rows and columns -> Option C
Quick Check:
Multi-dimensional array = rows and columns [OK]
Hint: Think of a table with rows and columns [OK]
Common Mistakes:
Confusing multi-dimensional arrays with simple lists
Thinking arrays can only hold one type of data
Believing multi-dimensional arrays are unrelated variables
2. Which of the following is the correct way to declare a 2x3 multi-dimensional array of integers in C#?
easy
A. int[,] arr = new int[2,3];
B. int[][] arr = new int[2][3];
C. int arr[2,3];
D. int arr = new int[2,3];
Solution
Step 1: Recall C# multi-dimensional array syntax
In C#, a 2D array is declared with commas inside square brackets: int[,] arr = new int[rows, columns];
Step 2: Check each option
int[,] arr = new int[2,3]; uses correct syntax. int[][] arr = new int[2][3]; is jagged array syntax, not multi-dimensional. Options A and C are invalid syntax.
Final Answer:
int[,] arr = new int[2,3]; -> Option A
Quick Check:
Use comma inside brackets for multi-dimensional arrays [OK]
Hint: Use comma inside brackets for multi-dimensional arrays [OK]
Common Mistakes:
Using jagged array syntax instead of multi-dimensional
Missing 'new' keyword or wrong brackets
Confusing array declaration with other languages
3. What will be the output of the following C# code?
matrix[1, 2] means row 1, column 2. Rows and columns start at 0.
Step 2: Locate the value at matrix[1, 2]
Row 1 is {4, 5, 6}, column 2 is the third element, which is 6.
Final Answer:
6 -> Option D
Quick Check:
matrix[1,2] = 6 [OK]
Hint: Remember indexing starts at zero for rows and columns [OK]
Common Mistakes:
Confusing row and column indexes
Starting count from 1 instead of 0
Expecting the value 3 or 5 instead of 6
4. Identify the error in this C# code snippet:
int[,] grid = new int[3, 3];
grid[3, 0] = 10;
medium
A. Index out of range error at grid[3, 0]
B. Syntax error in array declaration
C. Missing initialization of array
D. No error, code runs fine
Solution
Step 1: Check array size and valid indexes
The array grid has size 3x3, so valid row indexes are 0, 1, 2.
Step 2: Analyze the assignment grid[3, 0]
Index 3 for row is out of range, causing an IndexOutOfRangeException at runtime.
Final Answer:
Index out of range error at grid[3, 0] -> Option A
Quick Check:
Index 3 invalid for size 3 array [OK]
Hint: Indexes start at 0, max index is size-1 [OK]
Common Mistakes:
Using index equal to array size
Confusing syntax error with runtime error
Assuming arrays auto-expand on invalid index
5. Given a 3x3 multi-dimensional array int[,] board representing a tic-tac-toe game, which code snippet correctly counts how many cells contain the value 1?
int count = 0;
// Which loop is correct?
A) for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
if (board[i, j] == 1) count++;
B) for (int i = 1; i <= 3; i++)
for (int j = 1; j <= 3; j++)
if (board[i, j] == 1) count++;
C) for (int i = 0; i < 3; i++)
for (int j = 0; j < 2; j++)
if (board[i, j] == 1) count++;
D) for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
if (board[j, i] == 1) count++;
hard
A. rorre egnar fo tuo xedni sesuaC
B. Causes index out of range error
C. Misses last column in counting
D. Counts transposed cells, not original positions
Solution
Step 1: Understand array indexing and loop ranges
Indexes start at 0 and go up to size-1, so loops must run from 0 to less than 3.
Step 2: Analyze each option's loops
Causes index out of range error correctly counts all cells with value 1 loops correctly over all rows and columns. Causes index out of range error causes index out of range error uses 1 to 3, causing out of range. Misses last column in counting misses last column by looping j to 2. Counts transposed cells, not original positions swaps indexes, counting transposed cells.
Final Answer:
Causes index out of range error -> Option B
Quick Check:
Loop from 0 to less than size for rows and columns [OK]
Hint: Loop indexes from 0 to size-1 for all dimensions [OK]
Common Mistakes:
Starting loops at 1 instead of 0
Using wrong loop limits causing missed elements
Swapping row and column indexes accidentally
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.