建立一个新的二维数组,并导入随机数据操作,C++操作
时间: 2024-11-05 10:32:12 浏览: 11
素数、二维数组键入、奇数存入二进制、读取文件数据
5星 · 资源好评率100%
在C++中,你可以使用`std::vector`或`std::array`来创建动态大小的二维数组,因为它们可以方便地处理任意维度的数据。以下是创建和填充二维随机数据的一段示例:
```cpp
#include <iostream>
#include <cstdlib> // 包含rand和相关的库函数
#include <ctime> // 设置随机数种子
// 定义一个模板类用于生成随机数
template<typename T>
class RandomArrayGenerator {
public:
static void generate(T** arr, int rows, int cols) {
std::srand(std::time(0)); // 初始化随机数种子
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
*arr[i][j] = static_cast<T>(rand() % 100); // 生成0到99之间的随机数
}
}
}
};
int main() {
int rows = 5;
int cols = 4;
int** array = new int*[rows]; // 创建一个动态大小的二维数组
if (array) { // 检查内存分配是否成功
for (int i = 0; i < rows; ++i) {
array[i] = new int[cols]; // 内部每个行也动态分配内存
}
RandomArrayGenerator<int>::generate(array, rows, cols); // 生成随机数据
// 现在你可以遍历并打印这个二维数组
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
std::cout << array[i][j] << " ";
}
std::cout << "\n";
}
// 释放内存
for (int i = 0; i < rows; ++i) {
delete[] array[i];
}
delete[] array;
} else {
std::cerr << "Memory allocation failed.\n";
}
return 0;
}
阅读全文