Khai báo mảng 2 chiều trong c

  -  
Kchất hóa học Lập trình Lập trình C++ Kchất hóa học thiết kế C++ căn uống bạn dạng Mảng 2 chiều vào C++ (Two-dimensional arrays)

Dẫn nhập

Tại bài học kinh nghiệm trước, tôi đã chia sẻ mang lại các bạn về CÁC THAO TÁC TRÊN MẢNG MỘT CHIỀU TRONGC++.

Bạn đang xem: Khai báo mảng 2 chiều trong c

Hôm ni, bản thân vẫn giới thiệu mang lại các bạn về một dạng không giống của kiểu dữ liệu mảng, sẽ là Mảng 2D (Two-dimensional arrays) vào C++.

Nội dung

Để đọc hiểu bài bác này cực tốt các bạn đề nghị bao gồm kiến thức cơ bản về:

Trong bài ta đang thuộc tìm hiểu những vấn đề:

Mảng 2 chiều là gì?Khai báo và khởi sản xuất mảng 1 chiềuXuất những bộ phận mảng 2 chiềuNhập những thành phần mảng 2 chiều

Mảng 2D là gì?

Trong bài MẢNG MỘT CHIỀU TRONG C++ (Arrays), các bạn vẫn biết được mảng là một phong cách dữ liệu gồm cấu trúc vì người lập trình sẵn khái niệm, trình diễn một dãy các biến gồm thuộc kiểu.

Ví dụ:

int a<5> = 6, 4, 3, 7, 2 ;

Hình dưới miêu tả 1 mảng tên là a có phong cách int gồm 5 phần tử (đã khởi tạo) phía trong vùng ghi nhớ RAM:

*

Các thành phần trong một mảng, rất có thể là bất kỳ loại tài liệu nào, cùng nó cũng rất có thể là loại tài liệu mảng. Nếu những bộ phận vào mảng có loại dữ liệu mảng, nó được Hotline là mảng nhiều chiều.

Một mảng của một mảng được Hotline là mảng nhiều chiều (multidimensional array).

lấy ví dụ mảng 2 chiều:

int a<2><3> = 6, 4, 3 , // row 1 7, 2, 8 // row 2;

Hình dưới mô tả mảng 2 chiều thương hiệu là a có hình dáng int tất cả 2 bộ phận (vẫn khởi tạo), từng phần tử là mảng 1 chiều 3 thành phần (thường xuyên được Hotline là 2 chiếc 3 cột):

*

Dù mảng a2 chiều hay những chiều, nhưng mà bản chất Khi lưu lại vào bộ lưu trữ RAM, nó vẫn là 1 vùng ghi nhớ tất cả các ô lưu giữ liên tiếp nhau.

Khai báo với khởi tạo thành mảng 2 chiều

Khai báo mảng 2 chiều

Cú pháp:

<><>;

Lưu ý:

Phải xác định rõ ràng (hằng số) Lúc knhị báo.Nên áp dụng thông tư chi phí xử lý #define nhằm định nghĩa mảng.Tổng số phần tử = * .Sở lưu giữ sử dụng = * sizeof().

Xem thêm: Imagine You Are Visiting Your Relatives Or Friends In Another Part Of Viet Nam Or In A Different Country

Ví dụ:

int a<10><20>, b<10><20>;int c<5><10>;int d<10><20>;

Chụ ý: Khi một mảng chưa khởi tạo, những phần tử của mảng sẽ sở hữu giá trị rác.

Khởi sinh sản quý giá mang lại mảng 2 chiều

Cách 1: Khởi chế tạo ra giá trị mang đến các bộ phận của mảng

int a<2><3> = 6, 4, 3 , // row 1 7, 2, 8 // row 2;

*

Cách 2: Khởi tạo quý giá đến một trong những thành phần đầu mảng

int a<2><3> = 6 , // row 1 7, 2, 8 // row 2;

*

Cách 3: Khởi chế tạo ra quý hiếm 0 mang lại rất nhiều thành phần của mảng

int a<2><3> = ;

*

Cách 4: Tự đụng xác định con số phần tử

int a<><3> = 6, 4, 3 , // row 1 7, 2, 8 // row 2;

*

Không y hệt như mảng một chiều, mảng 2 chiều cấm đoán phép knhì báo bên dưới:

int a<><> = 6, 4, 3 , // row 1 7, 2, 8 // row 2;Cách 5: Sử dụng khởi tạo thành đồng hóa (unikhung initialization) trong C++11 (tương tự tựa như các cách bên trên, tuy nhiên vứt đi lốt bằng “=”)

int a<2><3> 6, 4, 3 , // row 1 7, 2, 8 // row 2;int b<2><3> 6 , // row 1 7, 2, 8 // row 2;int c<2><3> ;int d<><3> 6, 4, 3 , // row 1 7, 2, 8 // row 2;

Xuất những thành phần mảng 2 chiều

Để truy hỏi xuất cực hiếm của phần tử trong mảng, ta áp dụng cú pháp:

<><>;

Ví dụ: Cho mảng nlỗi sau:

int a<2><3> // 2 mẫu, 3 cột

*

Các truy tìm xuất:

Hợp lệ: a<0><0>, a<0><1>, …, a<1><1>, a<1><2>Không vừa lòng lệ: a<-1><0>, a<0><-1>, a<2><3>, … => mang lại công dụng không phải như ước muốn (rất có thể gây bị tiêu diệt chương trình).

Chú ý: lúc truy nã xuất một phần tử mảng, luôn bảo vệ chỉ số của bộ phận sẽ là hòa hợp lệ trong phạm vi của mảng.

Ví dụ công tác khởi sinh sản và xuất các thành phần mảng:

#include using namespace std;#define ROW 2 // Max row#define COL 3 // Max columnint main()// khởi sinh sản mảng 2 mẫu 3 cộtint arr 6, 4, 3 , // row 1 7, 2, 8 // row 2;// xuất quý giá các phần tử mảngfor (int i = 0; i Output:

*

Chương thơm trình trên áp dụng 2 vòng lặp for, 1 vòng lặp chạy từ 0 mang lại ROW – 1 nhằm truy vấn vào từng dòng, bên trên từng cái đã có 1 vòng lặp chạy từ bỏ 0 mang lại COL – 1 nhằm truy vấn vào cụ thể từng cột.

Nhập những phần tử mảng 2 chiều

Để gán giá trị cho phần tử trong mảng, ta thực hiện cú pháp:

<><> = ;

Ví dụ các phnghiền gán đúng theo lệ:

int a<2><3>;a<0><0> = 6;a<0><1> = 4;a<0><2> = 3;a<1><0> = 7;a<1><1> = 2;a<1><2> = 8;Ví dụ các phxay gán KHÔNG hòa hợp lệ (gây chết cmùi hương trình):

int a<2><3>;a<-1><0> = 6;a<0><-1> = 4;a<2><3> = 3;

Crúc ý: lúc truy vấn một phần tử mảng, luôn luôn bảo đảm an toàn chỉ số của bộ phận sẽ là đúng theo lệ vào phạm vi của mảng.

ví dụ như công tác đề xuất nhập dữ liệu mang lại mảng 2 chiều, tiếp đến xuất ra màn hình:

#include using namespace std;#define ROW 100 // Max row#define COL 100 // Max columnint main()// khởi tạo ra mảng 2 mẫu 3 cộtint arr;int row, col;// nhập số mẫu, cộtcout > row;cout > col;// nhập mảng 2 chiềucout > arr;// xuất mảng 2 chiềufor (int i = 0; i Output:

*

lấy ví dụ như lịch trình tạo ra dữ liệu mang lại mảng 2D, sau đó xuất ra màn hình:

#include #include #include using namespace std;#define ROW 100 // Max row#define COL 100 // Max columnint main(){// khởi chế tác mảng 2 dòng 3 cộtint arr;int row, col;// khởi tạo số ngẫu nhiênsrand(time(NULL));// nhập số cái, cộtcout > row;cout > col;// nhập mảng 2 chiềufor (int i = 0; i Output:

*

Kết luận

Qua bài học này, chúng ta sẽ hiểu rằng tư tưởng với phương pháp sử Mảng 2 chiều (Two-dimensional arrays) trong C++. Mảng 2 chiều được thực hiện hơi phổ biến vào lập trình sẵn, nó được ứng dụng vào những bài toán đồ dùng thị, hoặc những trò nghịch như game caro, cờ vua, …

Trong bài bác tiếp theo sau, bản thân sẽ giới thiệu mang lại các bạn CÁC THAO TÁC TRÊN MẢNG 2 CHIỀUvào C++.

Xem thêm: Hướng Dẫn Cách Tạo Trang Page Trên Facebook Từ A Đến Z Để Bán Hàng

Cảm ơn chúng ta sẽ quan sát và theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bản thân để cải tiến và phát triển bài viết giỏi rộng. Đừng quên “Luyện tập – Thử thách – Không hổ thẹn khó”.