У меня есть вектор, содержащий что-то вроде
{1, 2, 1, 4, 5, 1, 7, 8 ,9, 1 }
Таким образом, вектор представляет столбцы верхней правой матрицы
1 2 4 7
0 1 5 8
0 0 1 9
0 0 0 1
Как я мог использовать вектор и получить от
{1, 2, 1, 4, 5, 1, 7, 8 ,9, 1 }
до
1 2 4 7
2 1 5 8
4 5 1 9
7 8 9 1
как вектор
{ 1,2,4,7,
2,1,5,8,
4,5,1,9,
7,8,9,1 }
На самом деле после просмотра кода, решение:
for (int i = 0; i < cols; ++i)
for (int j = 0; j <= i; ++j)
v[cols * i + j] = v[cols * j + i] = w[k++];