C++ 从int向量保存到2D数组

C++ 从int向量保存到2D数组,c++,arrays,vector,multidimensional-array,C++,Arrays,Vector,Multidimensional Array,我有一个int向量,从中我必须将值保存到一个2D数组中。我认为这是直接的,但对于I+j,当j变为0时,下一个要保存的整数保存在上一个整数上。它们重叠。你能告诉我怎么修吗?代码如下: 矢量温度表//在前面的代码中填写,仅供参考 int**arr_表=新int*[州数]; 对于(int i=0;i

我有一个int向量,从中我必须将值保存到一个2D数组中。我认为这是直接的,但对于
I+j
,当
j
变为
0
时,下一个要保存的整数保存在上一个整数上。它们重叠。你能告诉我怎么修吗?代码如下:


矢量温度表//在前面的代码中填写,仅供参考
int**arr_表=新int*[州数];
对于(int i=0;i<状态数;i++)
{
arr_table[i]=新整数[alphabet.size()];
}

对于(int i=0;i您希望通过
alphabet.size()
缩放
i
索引以考虑已添加的行:

for(int i=0;i<number_of_states;i++)
    for(int j=0;j<alphabet.size();j++)
        arr_table[i][j]=temp_table.at(i * alphabet.size() + j);

for(int i=0;i)您在
temp_表中的索引类似于
(i*alphabet.size())+j
。这取决于数据在1d向量中的存储方式。
for(int i=0;i<number_of_states;i++)
    for(int j=0;j<alphabet.size();j++)
        arr_table[i][j]=temp_table.at(i * alphabet.size() + j);