Có cách nào cấp phát mảng 2 chiều mà mình chưa biết số lượng phần tử không?

em mới học c++ và thấy có cách cấp phát động cho mảng 2 chiều nhưng lại phải khai báo trước số lượng dòng và cột. Vậy cho em hỏi có cách nào cấp phát mảng 2 chiều mà mình chưa biết số lượng phần tử không ạ

Hi Nguyễn Bá Quân.
Up code của bạn lên xem nào.

float ** M = new float *[R];
for(i=0; i<R;i++)
M[i] = new float[C];

có cách nào khai báo mảng 2 chiều như này mà ko cần khai báo trước cột và hàng ko bạn

Hi Nguyễn Bá Quân.
Bạn có rhể tìm hiểu kiểu dữ liệu linkedlits.
P/S Yêu cầu gì nào mảng hai chiều động vậy ?

bài tập yêu cầu tạo mảng 2 chiều ko biết trước số lượng ý mà

Đã là mảng tức là phải khai báo rồi bạn à :slight_smile:
Chỉ là bạn có thể nhập R, C vào hay R, C là hằng số thôi.
Còn nếu muốn có thể thêm bớt phần tử, bạn thử nghiên cứu std::list xem?

1 Like

tìm hiểu vector trong C++ vector các vector kiểu số thực là cách đơn giản nhất. Không cấp phát, không cần biết gì hết, thích thì push vô, truy xuất nhanh :3

1 Like

Nguyên tắc khi khai báo mảng 2 chiều là phải biết ít nhất 1 giá trị hàng hoặc cột nha em.

Bản chất của mảng 2 chiều là mảng chứa mảng. Thực ra mảng 2 chiều cũng là mảng một chiều mà mỗi phần tử là một mảng (int[][] thực ra là (int[])[])
Khai báo mảng 2 chiều thức là khai báo kích thước của mảng thôi.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?