آرایه چندبعدی (Multidimensional Arrays)
آرایه چندبعدی یعنی «آرایه ای از آرایه ها». مثل جدول نمره ها. هر «بعد (Dimension)» یک جهت است؛ سطر، ستون، یا لایه. همین ایده، داده جدولی را تمیز نگه می دارد.
ساخت آرایه دوبعدی (2D)
آرایه 2D مثل ماتریس است؛ سطرها و ستون ها. نمونه ساده را ببین:
int matrix[2][3] = { { 1, 4, 2 }, { 3, 6, 8 } };
نکته: بعد اول سطرهاست [2]. بعد دوم ستون هاست [3]. مقدارها ردیفی چیده می شوند.
دسترسی به عنصر در 2D
برای دسترسی، هم سطر را بده، هم ستون را. اندیس ها از 0 شروع می شوند.
int matrix[2][3] = { { 1, 4, 2 }, { 3, 6, 8 } };
printf("%d", matrix[0][2]);
تغییر مقدار یک خانه
اندیس سطر و ستون را بده و مقدار را عوض کن.
int matrix[2][3] = { { 1, 4, 2 }, { 3, 6, 8 } };
matrix[0][0] = 9;
printf("%d", matrix[0][0]);
حلقه تو در تو برای پیمایش 2D
برای هر بعد، یک حلقه لازم است. بیرونی برای سطر؛ درونی برای ستون.
int matrix[2][3] = { { 1, 4, 2 }, { 3, 6, 8 } };
int i;
int j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d\n", matrix[i][j]);
}
}
آرایه سه بعدی (3D)
گاهی یک بعد بیشتر می خواهی؛ مثل چند جدول پشت سرهم.
// دو بلوک، هر کدام چهار سطر و سه ستون
int example[2][4][3];
کی از آرایه چندبعدی استفاده کنیم؟
وقتی داده ها جدولی اند. مثلا جدول نمره، صفحه بازی، یا شیت کلاس. اگر طول هر ردیف ثابت است، 2D عالی است. اگر لایه ها داری، 3D کاربردی است.
مراحل عملی سریع
- ابعاد داده را مشخص کن.
- آرایه را با اندازه درست بساز.
- با حلقه تو در تو پیمایش کن.
- با اندیس مناسب مقدار بده یا بخوان.
برای مرور حلقه ها، بخش حلقه روی آرایه را ببین. برای طول آرایه، سر بزن به اندازه آرایه. همچنین صفحه آرایه چندبعدی مرجع کلمات کلیدی ماست.
جمع بندی سریع
- 2D یعنی سطر و ستون.
- اندیس ها از صفر شروع می شوند.
- برای هر بعد، یک حلقه بزن.
- ابعاد را درست انتخاب کن.