You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现两个二维数组行列值相乘并将结果存入第三个二维数组

代码修改方案

你要实现的是矩阵乘法运算,forecastPrices[i][j]的取值为recipe第i行元素和prices第j列对应位置元素的乘积之和。

前提假设

  • recipe的列数 = prices的行数,根据你现有代码的循环边界,默认三个二维数组均为numberOfProducts * numberOfProducts的方阵
  • 注意统一结果数组命名,你需求里的数组名为forecastPrices,原示例代码中写的是forecastCost,可按需调整

修改后代码

for(int i = 0 ; i < numberOfProducts ; i++)
{
    for(int j = 0 ; j < numberOfProducts ; j++)
    {
        // 每次计算新位置前先把初始值置为0
        forecastPrices[i][j] = 0;
        // 第三层循环遍历行/列的对应元素,累加乘积
        for(int k = 0; k < numberOfProducts; k++) {
            forecastPrices[i][j] += recipe[i][k] * prices[k][j];
        }
    }
}

维度不匹配的调整方案

如果recipe和prices不是方阵,比如recipe的列数、prices的行数为numberOfMaterials,只需要把第三层循环的边界从numberOfProducts改为numberOfMaterials即可。

内容的提问来源于stack exchange,提问作者s k y l i n e

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 22:27:02