Lập trình

Cấp phát động mảng 2 chiều trong C++

Huy Erick

Giải pháp 1: Công việc cấp phát động mảng 2 chiều trong C++ dịch sang tiếng Việt có nghĩa là "allocate dynamic 2D array in C++." Việc cấp phát một mảng 2 chiều động trong...

Giải pháp 1:

Công việc cấp phát động mảng 2 chiều trong C++ dịch sang tiếng Việt có nghĩa là "allocate dynamic 2D array in C++." Việc cấp phát một mảng 2 chiều động trong C++ liên quan đến việc sử dụng con trỏ để tạo ra một ma trận có thể có kích thước biến đổi. Dưới đây là một đoạn mã ví dụ trình bày cách cấp phát động một mảng 2 chiều trong C++ và một ví dụ về cách sử dụng nó:

#include  int main() {     // Xác định kích thước của mảng 2 chiều     int rows, cols;     std::cout  "Nhập số hàng: ";     std::cin >> rows;     std::cout  "Nhập số cột: ";     std::cin >> cols;      // Cấp phát bộ nhớ động cho mảng 2 chiều     int** dynamicArray = new int*[rows];     for (int i = 0; i  rows; ++i) {         dynamicArray[i] = new int[cols];     }      // Khởi tạo mảng 2 chiều với các giá trị     int value = 1;     for (int i = 0; i  rows; ++i) {         for (int j = 0; j  cols; ++j) {             dynamicArray[i][j] = value++;         }     }      // Hiển thị mảng 2 chiều     std::cout  "Mảng 2D động:\n";     for (int i = 0; i  rows; ++i) {         for (int j = 0; j  cols; ++j) {             std::cout  dynamicArray[i][j]  "\t";         }         std::cout  "\n";     }      // Giải phóng bộ nhớ cho mảng 2 chiều     for (int i = 0; i  rows; ++i) {         delete[] dynamicArray[i];     }     delete[] dynamicArray;      return 0; }

Trong ví dụ này, người dùng được yêu cầu nhập số hàng và số cột cho mảng 2 chiều. Chương trình sau đó cấp phát bộ nhớ cho mảng, khởi tạo giá trị cho các phần tử và hiển thị nội dung. Cuối cùng, chương trình giải phóng bộ nhớ để tránh rò rỉ bộ nhớ.

Lưu ý rằng quản lý bộ nhớ động đến với các trách nhiệm và trong một kịch bản thực tế, bạn có thể muốn sử dụng con trỏ thông minh hoặc các kỹ thuật quản lý bộ nhớ khác để đảm bảo việc giải phóng tài nguyên đúng cách.

Giải pháp 2:

Giải thích chi tiết về cấp phát mảng 2 chiều trong C++

Trong C++, một mảng 2 chiều là một cấu trúc dữ liệu lưu trữ dữ liệu trong một bảng hai chiều. Mỗi phần tử của mảng được truy cập bằng hai chỉ số, một chỉ số hàng và một chỉ số cột. Chỉ số hàng chỉ ra hàng mà phần tử đó nằm, và chỉ số cột chỉ ra cột mà phần tử đó nằm.

Để cấp phát một mảng 2 chiều trong C++, bạn có thể sử dụng cú pháp sau:

int array[rows][columns];

Ở đây, rows là số hàng trong mảng và columns là số cột trong mảng.

Ví dụ, đoạn mã sau cấp phát một mảng 2 chiều với 3 hàng và 4 cột:

int array[3][4];

Sau khi bạn đã cấp phát một mảng 2 chiều, bạn có thể truy cập các phần tử của mảng bằng cú pháp sau:

array[row][column];

Ở đây, row là chỉ số hàng của phần tử bạn muốn truy cập, và column là chỉ số cột của phần tử bạn muốn truy cập.

Ví dụ, đoạn mã sau in ra giá trị của phần tử ở giao điểm của hàng 1 và cột 2:

cout  array[1][2]  endl;

Kết quả:

5

Kết luận

Trong bài viết này, chúng tôi đã cung cấp một giải thích chi tiết về cách cấp phát mảng 2 chiều trong C++. Chúng tôi cũng đã cung cấp các ví dụ mã để minh họa cách cấp phát và truy cập mảng 2 chiều trong C++.

1