将一个数组内容转换为另一个2d数组行;列

时间:2011-05-07 17:35:05

标签: c++ multidimensional-array

我有这个函数读取文本文件并将字符串发送到数组,然后从该函数我将该数组和元素数发送到我的构造函数。现在我的构造函数创建了一个动态的二维数组(我希望)。我希望从接收到的数组中为我的2d数组行和列分配值。

继承人我的构造函数。

Graph::Graph(string cities[], int n)
{
     this->nrOfCities=n;
     this->x=n;
     this->y=n;
     this->graph=new string *[x];
     for (int i = 0; i < x; i++) 
        this->graph[i] =new string[y];
     for(int i=0;i<this->x;i++)
        for(int j=0;j<this->x;j++)
           this->graph[j]=NULL;
     for(int i=0;i<=this->x;i++)//I know this last part doesn't work.
         for(int j=0;j<this->x;j++)
             this->graph[0][j+1]=cities[j];
}

感谢任何形式的帮助。

1 个答案:

答案 0 :(得分:1)

为了制作动态的2darray,你必须尝试s.th.像这样:

type** arr2d;
arr2d = new type*[rows];
for(int i=0; i<rows; ++i)
  arr2d[i] = new type[cols];