首页 > 解决方案 > 将两个数组相乘,但它只包含矩阵的对角线和子对角线

问题描述

我有两个std::vector<std::vector<int>> matrix;

这两个矩阵只存储对角线和次对角线数。
这两个矩阵具有相同的大小
例如

2 0 6
0 9 0
7 0 3

matrix[0] 只有两个元素, matrix[0][0] = 2 和 matrix[0][1] = 6 ,matrix[1][0] = 9 等等......
我不能使用数组。

我试过这个

for (unsigned int x = 0; x < x_matrix.size(); x++)
    {
        for (unsigned int y = 0; y < x_matrix[x].size(); y++)
        {
            for (unsigned int z = 0; z < x_matrix.size(); z++)
            {
                if (x_matrix[x].size() == y_matrix[z].size())
                {
                    solution_matrix[x][y] += x_matrix[x][z] * y_matrix[z][y];
                }





            }




        }

    }

还有更多,但它们似乎都不起作用。

标签: c++matrixvectormatrix-multiplicationdiagonal

解决方案


推荐阅读