Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Multidimensional Arrays | Advanced Array Topics
C++ Arrays

bookMultidimensional Arrays

Multidimensional arrays in C++ allow you to store data in more complex structures, such as grids, tables, or matrices. These arrays are especially useful when you need to represent data with more than one attribute, like a chessboard (which has rows and columns) or a multiplication table. In C++, a multidimensional array is most commonly seen as a two-dimensional array, where each element is itself an array. This means you can think of a 2D array as a table with rows and columns, and each position in this table can hold a value.

main.cpp

main.cpp

copy
1234567891011121314151617181920
#include <iostream> int main() { // Declare a 2D array with 3 rows and 4 columns int table[3][4]; // Fill the array with values: value = row * column for (int row = 0; row < 3; ++row) for (int col = 0; col < 4; ++col) table[row][col] = row * col; // Print the array as a table for (int row = 0; row < 3; ++row) { for (int col = 0; col < 4; ++col) std::cout << table[row][col] << " "; std::cout << std::endl; } }

In the code above, you first declare a two-dimensional array named table with three rows and four columns using int table[3][4];. This means the valid indices for rows are 0 to 2, and for columns are 0 to 3. The nested for loops fill the array so that each element is set to the product of its row and column indices. To access or assign a value in a 2D array, you use the syntax array[row][col]. When printing the array, the outer loop iterates over each row, and the inner loop prints each value in that row, creating a table-like output.

main.cpp

main.cpp

copy
12345678910111213141516171819
#include <iostream> int main() { // Declare a 3x3 array and initialize all elements to 0 int arr[3][3] = {0}; // Set all elements in the first row to 1 for (int col = 0; col < 3; ++col) arr[0][col] = 1; // Print the array to check the result for (int row = 0; row < 3; ++row) { for (int col = 0; col < 3; ++col) std::cout << arr[row][col] << " "; std::cout << std::endl; } }

When working with multidimensional arrays, a common mistake is to mix up the order of row and column indices. In C++, the first index always refers to the row, and the second index refers to the column. Accidentally swapping these indices can lead to unexpected results or logic errors. Always double-check that you are using array[row][column] and not the other way around, especially when assigning or accessing values in loops.

question mark

How do you access the element in the second row and third column of a 2D array arr in C++?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 1

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

Can you give an example of how to declare and initialize a 2D array in C++?

What are some practical uses for multidimensional arrays in real-world programs?

How do you avoid common mistakes when working with multidimensional arrays?

bookMultidimensional Arrays

Svep för att visa menyn

Multidimensional arrays in C++ allow you to store data in more complex structures, such as grids, tables, or matrices. These arrays are especially useful when you need to represent data with more than one attribute, like a chessboard (which has rows and columns) or a multiplication table. In C++, a multidimensional array is most commonly seen as a two-dimensional array, where each element is itself an array. This means you can think of a 2D array as a table with rows and columns, and each position in this table can hold a value.

main.cpp

main.cpp

copy
1234567891011121314151617181920
#include <iostream> int main() { // Declare a 2D array with 3 rows and 4 columns int table[3][4]; // Fill the array with values: value = row * column for (int row = 0; row < 3; ++row) for (int col = 0; col < 4; ++col) table[row][col] = row * col; // Print the array as a table for (int row = 0; row < 3; ++row) { for (int col = 0; col < 4; ++col) std::cout << table[row][col] << " "; std::cout << std::endl; } }

In the code above, you first declare a two-dimensional array named table with three rows and four columns using int table[3][4];. This means the valid indices for rows are 0 to 2, and for columns are 0 to 3. The nested for loops fill the array so that each element is set to the product of its row and column indices. To access or assign a value in a 2D array, you use the syntax array[row][col]. When printing the array, the outer loop iterates over each row, and the inner loop prints each value in that row, creating a table-like output.

main.cpp

main.cpp

copy
12345678910111213141516171819
#include <iostream> int main() { // Declare a 3x3 array and initialize all elements to 0 int arr[3][3] = {0}; // Set all elements in the first row to 1 for (int col = 0; col < 3; ++col) arr[0][col] = 1; // Print the array to check the result for (int row = 0; row < 3; ++row) { for (int col = 0; col < 3; ++col) std::cout << arr[row][col] << " "; std::cout << std::endl; } }

When working with multidimensional arrays, a common mistake is to mix up the order of row and column indices. In C++, the first index always refers to the row, and the second index refers to the column. Accidentally swapping these indices can lead to unexpected results or logic errors. Always double-check that you are using array[row][column] and not the other way around, especially when assigning or accessing values in loops.

question mark

How do you access the element in the second row and third column of a 2D array arr in C++?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 1
some-alt