阅读量:0
在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
操作符释放分配的内存。
注意:在使用动态内存分配时,一定要确保在不再需要内存时释放它,以避免内存泄漏。