Ngôn ngữ C ++ không giới hạn số lượng kích thước của mảng. Ở đây bạn có thể thấy một ví dụ về một mảng 3 chiều.
Hãy tưởng tượng một khách sạn. Đó là một khách sạn lớn bao gồm ba tòa nhà, mỗi tầng 15 tầng. Mỗi tầng có 20 phòng. Chúng ta cần một mảng có khả năng thu thập và xử lý thông tin về số lượng khách đăng ký trong mỗi phòng.
- Bước một – kiểu dữ liệu của mảng. Chúng tôi nghĩ rằng unsigned int sẽ là một lựa chọn tốt vì số khách hàng thì không thể là số âm được
- Bước hai – bình tĩnh phân tích tình huống. Tóm tắt các thông tin có sẵn: 3 tháp, 15 tầng, 20 phòng. Bây giờ chúng ta có thể viết khai báo →
1 |
int guests[3][15][20]; |
Index đầu tiên (từ 0 đến 2) là để chọn tòa nhà; index thứ hai (từ 0 đến 14) để chọn tầng; index thứ ba (từ 0 đến 19) để chọn số phòng. Bây giờ chúng ta có thể đặt phòng cho hai vợ chồng mới cưới: ở tòa nhà thứ hai, trên tầng mười, phòng 14 như sau →
1 |
guests[1][9][13] = 2; |
và trả căn phòng thứ hai trên tầng năm nằm trong toà nhà đầu tiên →
1 |
guests[0][4][1] = 0; |
Trước khi kết thúc phần này của khóa học, chúng ta hãy kiểm tra xem có bao nhiêu phòng còn trống trên tầng thứ mười lăm tòa nhà thứ ba →
1 2 3 4 5 6 7 |
int room; int vacancy = 0; for (room = 0; room <20; room++) { if (guests[2][14][room] == 0) { vacancy++; } } |
Giá trị của biến vacancy sẽ là số phòng còn trống trên tầng thứ mười lăm tòa nhà thứ ba.