(2)动态分配一个二维数组(用户可以自定义行和列),需要通过指针输入和输出其元素。使用c++,写出在vscode2022中可以运行的代码
时间: 2024-11-07 10:12:59 浏览: 23
在C++中,你可以使用`new`运算符动态创建二维数组,并通过指针访问和修改它的元素。下面是一个简单的示例代码,让用户输入行数和列数,然后创建并操作这个二维数组:
```cpp
#include <iostream>
using namespace std;
int main() {
int rows, cols;
// 获取用户输入的行数和列数
cout << "请输入二维数组的行数: ";
cin >> rows;
cout << "请输入二维数组的列数: ";
cin >> cols;
// 动态分配二维数组
int** dynamicArray = new int*[rows]; // 创建行指针数组
for (int i = 0; i < rows; i++) {
dynamicArray[i] = new int[cols]; // 对于每行,再分配列数的内存
}
// 输入和输出元素
cout << "请输入元素(索引从0开始,例如0 0表示第一个元素):" << endl;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
cin >> dynamicArray[i][j];
cout << "当前元素值: " << dynamicArray[i][j] << " 索引(" << i << ", " << j << ")" << endl;
}
}
// 输出数组内容
cout << "原始数组内容:\n";
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
cout << dynamicArray[i][j] << " ";
}
cout << "\n";
}
// 释放内存
for (int i = 0; i < rows; i++) {
delete[] dynamicArray[i]; // 首先删除每一行的元素
}
delete[] dynamicArray; // 删除指向行指针的指针
return 0;
}
阅读全文