c++ - 将两个数组相乘,但它只包含矩阵的对角线和子对角线
问题描述
我有两个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];
}
}
}
}
还有更多,但它们似乎都不起作用。
解决方案
推荐阅读
- tcp - 在 ESP32 上使用 ESP-IDF 读取自定义以太网帧
- ruby-on-rails - 向托管在heroku上的rails api后端发出请求时出现401未经授权,但在本地主机上工作
- python - 打印数据框中图像的文件名
- python - 如何对具有固定前缀的数字列表进行排序?
- android - 当行数大于 2 时,无法正确计算 Recyclerview 行高
- r - 按名称分组并将 r 中的列数相加
- google-bigquery - 如何从 BigQuery 到 BigQuery?
- r - shiny_1.3.2 VS shiny_1.6.0:反应式上下文是在一个进程中创建并从另一个进程访问的
- azure - 使用 Docker compose 在 Azure 上部署多容器实例时遇到问题
- jquery - jQuery 选择器因字符串中的双引号而失败