Как совместить два вектора вектора вдоль строки? - PullRequest
1 голос
/ 28 апреля 2019

Я пытаюсь добавить вектор вектора к другому вектору вектора вдоль строк, как вектор 4x4 становится строкой 4x8 (не 8x4) /column).

Мне нужны инструкции, чтобы сделать это 4x8.

Grid - это объект, который состоит из Square объектов.

Grid CombineGrid(Grid one, Grid two)
{
    vector<vector<Square>> gridOne = one.fields;
    vector<vector<Square>> gridTwo = two.fields;
    vector<vector<Square>> temp;
    int reqCol = one.columns + two.columns, reqRow = one.rows + one.rows;
    temp = gridOne;

    temp.insert(temp.end(), gridTwo.begin(), gridTwo.end());

    for (const auto &row : temp)
    {
        for (Square x:row) 
        {
            cout << "y" << ' ';
            cout << endl;
        }
    }
    Grid finalGrid(one.columns + two.columns, two.rows + two.rows);
    finalGrid.fields = temp;

    return finalGrid;
}

1 Ответ

1 голос
/ 28 апреля 2019

Хотите ли вы соединить gridOne [0] (первый элемент 1-го vect) с gridTwo [0] (первый элемент 2-го vect) и некоторые подобные элементы для других элементов?Если ответ «да», вы можете попробовать что-то вроде этого:

   size_t grid1Size = gridOne.size();
   for (size_t i = 0; i < grid1Size; i++)
   {
      if(i > gridTwo.size())
      {
         gridTwo.push_back(gridOne[i]);
      }
      else
      {
         gridTwo[i].insert(gridTwo[i].end(), gridOne[i].begin(), gridOne[i].end() );
      }
   }
...