(2)动态分配一个二维数组(用户可以自定义行和列),需要通过指针输入和输出其元素。使用c++,写出在vscode中可以运行的代码
时间: 2024-11-06 11:14:05 浏览: 13
在C++中,你可以使用`std::vector`来动态创建二维数组,因为它允许你在运行时改变大小。下面是一个简单的例子,用户可以输入行数和列数,然后通过指针访问和修改数组元素:
```cpp
#include <iostream>
#include <vector>
int main() {
int rows, cols;
std::cout << "请输入二维数组的行数: ";
std::cin >> rows;
std::cout << "请输入二维数组的列数: ";
std::cin >> cols;
// 创建动态二维向量
std::vector<std::vector<int>> dynamic_array(rows, std::vector<int>(cols));
// 使用指针遍历并输出数组元素
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
std::cout << "动态数组 [" << i << ", " << j << "] 的值: ";
std::cin >> (*dynamic_array)[i][j]; // 通过解引用操作获取元素地址
std::cout << "当前值: " << (*dynamic_array)[i][j] << "\n";
}
}
// 输入结束之后,显示修改后的元素
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
std::cout << "修改后的动态数组 [" << i << ", " << j << "] 的值: " << (*dynamic_array)[i][j] << "\n";
}
}
return 0;
}
```
在这个代码中,我们首先根据用户输入动态地初始化了一个二维`std::vector`。接着,我们使用嵌套循环遍历数组,并提示用户输入每个元素的值。最后,再次遍历数组以显示修改后的值。
阅读全文