در این آموزش، در مورد آرایه های چند بعدی در C++ یاد خواهید گرفت; چگونگی تعریف، دسترسی و استفاده از آن ها در برنامه.
در C++ می توانید آرایه ای از نوع آرایه به نام آرایه چند بعدی ایجاد کنید. مثلا:
توی این پک فوق العاده، سی پلاس پلاس رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با سی پلاس پلاس به عمق فهم برنامه نویسی شیرجه بزن، پروژه محور یاد بگیر و حسابی پول در بیار!
توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار!
int x[3][4];
در اینجا x یک آرایه دو بعدی است و حداکثر ۱۲ عنصر را نگه می دارد.
می توانید این آرایه را به عنوان جدولی با ۳ ردیف و هر ردیف دارای ۴ ستون در نظر بگیرید که در زیر نشان داده شده است.
آرایه سه بعدی هم به شیوه ای مشابه عمل می کند. مثلا:
float x[2][4][3];
آرایه x می تواند حداکثر ۲۴ عنصر را نگه دارد. می توانید اینطور در نظر بگیرید که: هر یک از ۲ عنصر می تواند ۴ عنصر داشته باشد که در مجموع ۸ عنصر را تشکیل می دهد و هر یک از این عناصر می تواند ۳ عنصر داشته باشد. از این رو، مجموع عناصر آرایه ۲۴ تا است.
مقدار دهی اولیه در آرایه چند بعدی
می توانید آرایه چند بعدی را با چند روش مقدار دهی اولیه کنید.
مقدار دهی اولیه ی یک آرایه دو بعدی
int test[2][3] = {2, 4, -5, 9, 0, 9};
راه بهتر برای مقدار دهی اولیه آرایه با همان عناصر بالا:
int test[2][3] = { {2, 4, 5}, {9, 0 0}};
مقدار دهی اولیه آرایه سه بعدی
int test[2][3][4] = {3, 4, 2, 3, 0, -3, 9, 11, 23, 12, 23,
۲, ۱۳, ۴, ۵۶, ۳, ۵, ۹, ۳, ۵, ۵, ۱, ۴, ۹};
راه بهتر برای مقدار دهی اولیه آرایه با همان عناصر بالا:
int test[2][3][4] = {
{ {۳, ۴, ۲, ۳}, {۰, -۳, ۹, ۱۱}, {۲۳, ۱۲, ۲۳, ۲} },
{ {۱۳, ۴, ۵۶, ۳}, {۵, ۹, ۳, ۵}, {۳, ۱, ۴, ۹} }
};
مثال ۱ : آرایه دو بعدی
برنامه زیر تمام عناصر یک آرایه ی دو بعدی را نمایش می دهد.
- int main()
- {
- int test[3][2] =
- {
- {۲, -۵},
- {۴, ۰},
- {۹, ۱}
- };
- // Accessing two dimensional array using
- // nested for loops
- for(int i = 0; i < 3; ++i)
- {
- for(int j = 0; j < 2; ++j)
- {
- cout<< “test[” << i << “][” << j << “] = ” << test[i][j] << endl;
- }
- }
- return 0;
- }
خروجی
test[0][0] = 2
test[0][1] = -5
test[1][0] = 4
test[1][1] = 0
test[2][0] = 9
test[2][1] = 1
مثال ۲: آرایه دو بعدی
برنامه زیر دمای دو شهر به مدت یک هفته را ذخیره می کند و سپس نمایش می دهد.
- #include <iostream>
- using namespace std;
- const int CITY = 2;
- const int WEEK = 7;
- int main()
- {
- int temperature[CITY][WEEK];
- cout << “Enter all temperature for a week of first city and then second city. \n”;
- // Inserting the values into the temperature array
- for (int i = 0; i < CITY; ++i)
- {
- for(int j = 0; j < WEEK; ++j)
- {
- cout << “City ” << i + 1 << “, Day ” << j + 1 << ” : “;
- cin >> temperature[i][j];
- }
- }
- cout << “\n\nDisplaying Values:\n”;
- // Accessing the values from the temperature array
- for (int i = 0; i < CITY; ++i)
- {
- for(int j = 0; j < WEEK; ++j)
- {
- cout << “City ” << i + 1 << “, Day ” << j + 1 << ” = ” << temperature[i][j] << endl;
- }
- }
- return 0;
- }
خروجی
Enter all temperature for a week of first city and then second city.
City 1, Day 1 : 32
City 1, Day 2 : 33
City 1, Day 3 : 32
City 1, Day 4 : 34
City 1, Day 5 : 35
City 1, Day 6 : 36
City 1, Day 7 : 38
City 2, Day 1 : 23
City 2, Day 2 : 24
City 2, Day 3 : 26
City 2, Day 4 : 22
City 2, Day 5 : 29
City 2, Day 6 : 27
City 2, Day 7 : 23
Displaying Values:
City 1, Day 1 = 32
City 1, Day 2 = 33
City 1, Day 3 = 32
City 1, Day 4 = 34
City 1, Day 5 = 35
City 1, Day 6 = 36
City 1, Day 7 = 38
City 2, Day 1 = 23
City 2, Day 2 = 24
City 2, Day 3 = 26
City 2, Day 4 = 22
City 2, Day 5 = 29
City 2, Day 6 = 27
City 2, Day 7 = 23
مثال ۳: آرایه سه بعدی
برنامه زیر مقادیر وارد شده توسط کاربر را در آرایه سه بعدی ذخیره کرده و نمایش می دهد.
- #include <iostream>
- using namespace std;
- int main()
- {
- // This array can store upto 12 elements (2x3x2)
- int test[2][3][2];
- cout << “Enter 12 values: \n”;
- // Inserting the values into the test array
- // using 3 nested for loops.
- for(int i = 0; i < 2; ++i)
- {
- for (int j = 0; j < 3; ++j)
- {
- for(int k = 0; k < 2; ++k )
- {
- cin >> test[i][j][k];
- }
- }
- }
- cout<<“\nDisplaying Value stored:”<<endl;
- // Displaying the values with proper index.
- for(int i = 0; i < 2; ++i)
- {
- for (int j = 0; j < 3; ++j)
- {
- for(int k = 0; k < 2; ++k)
- {
- cout << “test[” << i << “][” << j << “][” << k << “] = ” << test[i][j][k] << endl;
- }
- }
- }
- return 0;
- }
خروجی
Enter 12 values:
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
Displaying Value stored:
test[0][0][0] = 1
test[0][0][1] = 2
test[0][1][0] = 3
test[0][1][1] = 4
test[0][2][0] = 5
test[0][2][1] = 6
test[1][0][0] = 7
test[1][0][1] = 8
test[1][1][0] = 9
test[1][1][1] = 10
test[1][2][0] = 11
test[1][2][1] = 12
همانطور که ابعاد افزایش می یابد، پیچیدگی هم افزایش می یابد، اگرچه مفهوم کاملا مشابه قبل است.