所以,我以这种方式动态分配了一个二维数组:
int rs, co;
cin >> ro;
cin >> co;
int **array = new int* [ro];
for(int i = 0; i < ro; i++){
array[i] = new int [co];
}
我填了:
for(int i = 0; i < ro; i++){
for(int j = 0; j < co; j++){
cout << "Row: " << i << " Column: " << j << " : ";
cin >> *(*(array + i) + j);
}
}
我的问题是:如何取消分配 X 由用户给出的 X 行或列?我知道我应该使用“删除”命令,但我不明白如何
原文由 Dphan 发布,翻译遵循 CC BY-SA 4.0 许可协议
您不能删除一列,但可以删除一行。
如果这对您没有直接意义,请尝试阅读我的 2D 动态数组 © 。重点看图:
我知道我的链接是用 C 语言编写的,但是您尝试做的事情让我想起了 C。在 C++ 中,您可以使用
std::vector<int>
代替。我假设你知道你可以写:
代替:
删除具有两行矩阵的第一行的示例。
广义示例:
输出: