A multi-dimensional array is essentially an array of arrays, allowing data to be stored in structured layers.
Declaring a Multi-Dimensional Array
Each additional set of square brackets ([][]
) defines another dimension for the array.
Example: Two-Dimensional Array
string motorcycleModels[2][4];
This creates a 2×4 array, meaning:
- 2 rows (categories)
- 4 columns (models per category)
Values can be assigned using nested curly braces:
string motorcycleModels[2][4] = {
{"CBR600RR", "CB1000R", "Goldwing", "Africa Twin"},
{"Ninja ZX-10R", "Z900", "Versys 650", "KX250"}
};
Three-Dimensional Arrays
Adding another set of brackets [3]
creates a three-dimensional array, increasing complexity:
string motorcycleModels[2][2][2] = {
{
{"CBR600RR", "CB1000R"},
{"Goldwing", "Africa Twin"}
},
{
{"Ninja ZX-10R", "Z900"},
{"Versys 650", "KX250"}
}
};
With three dimensions, values are organized in layers.
Accessing Multi-Dimensional Array Elements
To retrieve a specific value, reference each dimension’s index:
Example: Getting an Element
using namespace std;
int main() {
string motorcycleModels[2][4] = {
{"CBR600RR", "CB1000R", "Goldwing", "Africa Twin"},
{"Ninja ZX-10R", "Z900", "Versys 650", "KX250"}
};
cout << motorcycleModels[0][2]; // Outputs "Goldwing"
return 0;
}
Indexes start at 0, so:
[0][2]
retrieves the third element (“Goldwing”).
Modifying an Element
Changing an array element follows the same approach:
motorcycleModels[0][0] = "VFR800"; // Updates "CBR600RR" to "VFR800"
cout << motorcycleModels[0][0]; // Outputs "VFR800"
Looping Through a Multi-Dimensional Array
To iterate over a multi-dimensional array, use nested loops.
Example: Iterating Over Two-Dimensional Array
using namespace std;
int main() {
string motorcycleModels[2][4] = {
{"CBR600RR", "CB1000R", "Goldwing", "Africa Twin"},
{"Ninja ZX-10R", "Z900", "Versys 650", "KX250"}
};
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 4; j++) {
cout << motorcycleModels[i][j] << "\n";
}
}
return 0;
}
Looping Through a Three-Dimensional Array
For three dimensions, add another loop:
using namespace std;
int main() {
string motorcycleModels[2][2][2] = {
{
{"CBR600RR", "CB1000R"},
{"Goldwing", "Africa Twin"}
},
{
{"Ninja ZX-10R", "Z900"},
{"Versys 650", "KX250"}
}
};
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 2; k++) {
cout << motorcycleModels[i][j][k] << "\n";
}
}
}
return 0;
}
Practical Application of Multi-Dimensional Arrays
Multi-dimensional arrays are useful for structured data storage, such as creating grids, tables, and even game mechanics.
Example: Tracking Stock Availability
bool stockAvailability[4][4] = {
{0, 1, 1, 0},
{0, 0, 0, 0},
{0, 0, 1, 0},
{0, 0, 1, 0}
};
This structure could represent:
0
: Out of stock1
: Available