如何从任何迷宫ASCII文本文件中创建动态分配的2D阵列?

时间:2011-04-27 07:38:33

标签: c++

我发现了一种将任何ASCII文件转换为字符串的简单方法,无论其大小如何,但这对我没有多大帮助,因为我需要在动态分配的2D数组中使用它?我想稍后将哪些属性转换为Graph属性来解决迷宫问题。从我的字符串中获取动态分配的2D数组的最佳方法是什么? - 如果我的方法不是带有迷宫的ASCII文本文件的最佳方法之一?我希望能够将2d数组中的空白空间转换为顶点,并将它们连接到我将有一个起点和终点顶点的边。

std::ifstream in("d:\\mazes\\mymaze.txt");
std::string s((std::istreambuf_iterator<char>(in)),
std::istreambuf_iterator<char>());
cout << s;

1 个答案:

答案 0 :(得分:0)

这应该工作:

int rows = 4;//When you change these the array will change size
int cols = 4;

// declaration
int ** a;

// allocate
a = new int*[rows];
for(int i = 0; i < rows; i++)
    a[i] = new int[cols];

// set the values
for(int j = 0; j < rows; j++)
    for(int i = 0; i < rows; i++)
        a[i][j] = 0;

// destruct
for(int i = 0; i < rows; i++)
    delete a[i];
delete a[];