Mảng nhiều chiều

1. Lý thuyết

1.1 Cách khai báo

  • Tổng quát: kieu_du_kieu ten_mang[kichthuoc1][kichthuoc]…[kichthuoc]
  • Mảng 2 chiều: kieu_du_lieu ten_mang [x][y]
  • Ví dụ: khai báo một mảng 2 chiều 3 hàng 4 cột:  array[3][4]

1.2 Cách tổ chức bộ nhớ

– Trong C, mảng 2 chiều được tổ chức lưu trữ trên ram ưu tiên theo hàng. Nghĩa là sắp xếp theo thứ tự hết hàng này đến hàng khác.

1.3 Cách xác định chỉ số cho từng phần tử trong mảng

– Các hàng và các cột được đánh thứ tự từ số 0 

– Ví dụ một mảng 2 chiều có kích thước 3×4

 

 

* Tổng kết lại trong hình sau:

 

 

2. Bài tập

Cồm 4 yêu cầu:

1. Viết chương trình nhập vào mảng 2 chiều kích thước nxm.

2. Viết chương trình in ra mảng vừa nhập.

3. Viết chương trình tìm phần tử lớn nhất từng hàng.

4. Viết chương trình tìm ô vuông kích thước 2×2 (mở rộng là kxk) có tổng lớn nhất.

3. Tài liệu tham khảo

  1. Một số thao tác và phép toán cơ bản trên mảng 2 chiều: http://www.slideshare.net/tienhien110293/mng-2-chiu
  2. Một vài ví dụ về dùng mảng 2 chiều trong thực tế liên quan đên xử lí ảnh: https://processing.org/tutorials/2darray/
  3. Cách tạo ma phương http://www.sanfoundry.com/c-program-magic-squares-without-recursion/
The following two tabs change content below.

phuongtn