簡體   English   中英

從int的Vector保存到2D數組

[英]Save from Vector of int to 2D array

我有這個int向量,必須將值保存到2D數組中。我雖然很簡單,但是對於i+j ,當j變為0 ,下一個要保存的整數保存在最后一個。它們重疊。 你能告訴我如何解決嗎? 這是代碼:


vector<int> temp_table;//filled it in previous code, just for info
int** arr_table =new int* [number_of_states];
for(int i = 0; i < number_of_states; i++)
{
arr_table[i] = new int[alphabet.size()];
}

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+j);//This is where the overlapping occurs 
         //when j=0.How to fix it to save the correct data?
    }
}
for(int i=0;i<number_of_states;i++)
{
    for(int j=0;j<alphabet.size();j++)
    {
        cout<<arr_table[i][j]<<" ";
    }
    cout<<endl;
}

您希望通過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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM