با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش ++C در خدمت شما دوستان هستیم. در این جلسه قصد داریم تا با آرایه های چند بعدی در ++C و مقدار دهی به آرایه چند بعدی در ++C آشنا شویم.
در ++C شما می توانید آرایه ای از آرایه ها ایجاد کنید که به آرایه های چند بعدی شناخته می شوند.
به کد زیر توجه کنید:
1 | int x[3][4]; |
در اینجا x یک آرایه ۲ بعدی می باشد.
این آرایه می تواند حداکثر ۱۲ عنصر را در خود جای دهد.
می توانیم این آرایه را مانند جدولی با ۳ سطر و ۴ ستون در نظر بگیریم. مانند شکل زیر:
آرایه سه بعدی نسر به همین منوال کار می کند.
1 | float x[2][4][3]; |
آرایه x می تواند حداکثر ۲۴ مقدار را در خود ذخیره کند.
می توانید اینطور فکر کنیم که هر ۲ عنصر ۴ عنصر دیگر را در خود ذخیره می کند که می شود ۸ عنصر.
و این ۸ عنصر ۳ عنصر دیگر در خود ذخیره می کند که می شود ۲۴ عنصر.
برای مقدار دهی به این نوع بیش از یک راه وجود دارد که در ادامه خواهیم دید.
برای آرایه ۲ بعدی مثال قبل می توانیم به شکل های زیر آرایه را مقدار دهی کنیم:
1 | int test[2][3] = {2, 4, -5, 9, 0, 9}; |
یا
1 | int test[2][3] = { {2, 4, 5}, {9, 0 0}}; |
برای آرایه ۳ بعدی مثال قبل نیز به همین ترتیب می توانیم عمل کنیم:
1 2 | int test[2][3][4] = {3, 4, 2, 3, 0, -3, 9, 11, 23, 12, 23, 2, 13, 4, 56, 3, 5, 9, 3, 5, 5, 1, 4, 9}; |
یا
1 2 3 4 | int test[2][3][4] = { { {3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2} }, { {13, 4, 56, 3}, {5, 9, 3, 5}, {3, 1, 4, 9} } }; |
همچنین می توانیم با استفاده از خود عناصر نیز آن ها را مقدار دهی کنیم:
1 | test[0][1][0] = 3; |
در ادامه مثال هایی را از آرایه های ۲ بعدی و ۳ بعدی خواهیم دید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <iostream> using namespace std; int main() { int test[3][2] = { {2, -5}, {4, 0}, {9, 1} }; // Accessing two dimensional array using // nested for loops for(int i = 0; i < 3; ++i) { for(int j = 0; j < 2; ++j) { cou t<< "test[" << i << "][" << j << "] = " << test[i][j] << endl; } } return 0; } |
خروجی به شکل زیر می باشد:
1 2 3 4 5 6 | test[0][0] = 2 test[0][1] = -5 test[1][0] = 4 test[1][1] = 0 test[2][0] = 9 test[2][1] = 1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #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; } |
خروجی به شکل زیر می باشد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | 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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #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; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | Enter 12 values: 1 2 3 4 5 6 7 8 9 10 11 12 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 |
جلسه کار با آرایه های چند بعدی در ++C نیز به پایان رسید.
در جلسه بعد به ارسال آرایه ها به توابع در ++C خواهیم پرداخت. با ما همراه باشید