在C++中實現網格(二維數組)的動態調整,可以使用指針和動態內存分配
#include<iostream>
int main() {
int rows, cols;
std::cout << "Enter the number of rows: ";
std::cin >> rows;
std::cout << "Enter the number of columns: ";
std::cin >> cols;
// 使用new操作符為二維數組分配內存
int** grid = new int*[rows];
for (int i = 0; i< rows; ++i) {
grid[i] = new int[cols];
}
// 填充網格
for (int i = 0; i< rows; ++i) {
for (int j = 0; j< cols; ++j) {
std::cout << "Enter the value for grid[" << i << "][" << j << "]: ";
std::cin >> grid[i][j];
}
}
// 打印網格
std::cout << "The grid is: "<< std::endl;
for (int i = 0; i< rows; ++i) {
for (int j = 0; j< cols; ++j) {
std::cout<< grid[i][j] << " ";
}
std::cout<< std::endl;
}
// 使用delete操作符釋放內存
for (int i = 0; i< rows; ++i) {
delete[] grid[i];
}
delete[] grid;
return 0;
}
這個程序首先接收用戶輸入的行數和列數,然后使用new
操作符為二維數組分配內存。接下來,程序填充網格并將其打印出來。最后,使用delete
操作符釋放分配的內存。
注意:在使用動態內存分配時,一定要確保在不再需要內存時釋放它,以避免內存泄漏。