C 矩阵:不同维度+;实施

C 矩阵:不同维度+;实施,c,matrix,C,Matrix,我正在尝试实现两个矩阵,我必须使用它们,而不需要用户输入并将它们相乘。然而,它们有不同的维度。我怎样才能编写这个代码?我真的尝试了一切,我删除了我的代码并重新启动它 main(void){ int B[4][3] = {{1,0,0}, {1,0,1},{1,1,0},{1,1,1}}; int Y[1][4] = {{1}, {1}, {1}, {0}}; } 这是不对的。这对于4x1阵列来说很好 int Y[4][1] = {{1}, {1}, {1}, {0}}; 您需要的是: i

我正在尝试实现两个矩阵,我必须使用它们,而不需要用户输入并将它们相乘。然而,它们有不同的维度。我怎样才能编写这个代码?我真的尝试了一切,我删除了我的代码并重新启动它

main(void){
int B[4][3] = {{1,0,0}, {1,0,1},{1,1,0},{1,1,1}};
int Y[1][4] = {{1}, {1}, {1}, {0}};
 }
这是不对的。这对于
4x1
阵列来说很好

int Y[4][1] = {{1}, {1}, {1}, {0}}; 
您需要的是:

int Y[1][4] = {{1, 1, 1, 0}};
现在你可以乘了

int main ()
{
   int B[4][3] = {{1,0,0}, {1,0,1},{1,1,0},{1,1,1}};
   int Y[1][4] = {{1, 1, 1, 0}};
   int R[1][3] = {0};

   for ( int i = 0; i < 1; ++i )
   {
      for ( int j = 0; i < 3; ++j )
      {
         for ( int k = 0; i < 4; ++k )
         {
            R[i][j] += Y[i][k]*B[k][j]
         }
      }
   }
}
int main()
{
int B[4][3]={{1,0,0},{1,0,1},{1,1,0},{1,1,1};
int Y[1][4]={{1,1,1,0};
int R[1][3]={0};
对于(int i=0;i<1;++i)
{
对于(int j=0;i<3;++j)
{
对于(int k=0;i<4;++k)
{
R[i][j]+=Y[i][k]*B[k][j]
}
}
}
}
这是不对的。这对于
4x1
阵列来说很好

int Y[4][1] = {{1}, {1}, {1}, {0}}; 
您需要的是:

int Y[1][4] = {{1, 1, 1, 0}};
现在你可以乘了

int main ()
{
   int B[4][3] = {{1,0,0}, {1,0,1},{1,1,0},{1,1,1}};
   int Y[1][4] = {{1, 1, 1, 0}};
   int R[1][3] = {0};

   for ( int i = 0; i < 1; ++i )
   {
      for ( int j = 0; i < 3; ++j )
      {
         for ( int k = 0; i < 4; ++k )
         {
            R[i][j] += Y[i][k]*B[k][j]
         }
      }
   }
}
int main()
{
int B[4][3]={{1,0,0},{1,0,1},{1,1,0},{1,1,1};
int Y[1][4]={{1,1,1,0};
int R[1][3]={0};
对于(int i=0;i<1;++i)
{
对于(int j=0;i<3;++j)
{
对于(int k=0;i<4;++k)
{
R[i][j]+=Y[i][k]*B[k][j]
}
}
}
}

所以您尝试了这个。这一定不管用,否则你就不会来了。但不工作既是一种症状,也是一种结果。你的问题的未来读者应该知道当你尝试这一点时实际发生了什么。错误消息?警告?与此无关,你放弃了以前所做的工作,重新开始编写这段绝对最少的代码,这是值得称赞的。用4x1乘以4x3矩阵是不可能的。内部尺寸必须匹配(例如3x4与4x1)是的,我记得,这是一个1x4,我只是有时混淆行和列。请不要编辑带有答案中所做更正的问题。因此您尝试了此方法。这一定不管用,否则你就不会来了。但不工作既是一种症状,也是一种结果。你的问题的未来读者应该知道当你尝试这一点时实际发生了什么。错误消息?警告?与此无关,你放弃了以前所做的工作,重新开始编写这段绝对最少的代码,这是值得称赞的。用4x1乘以4x3矩阵是不可能的。内部尺寸必须匹配(例如3x4和4x1)是的,我记得,这是一个1x4,我只是有时混淆行和列。请不要编辑带有答案更正的问题。啊,好的!我现在明白了!我不是必须转置矩阵B才能得到3X4吗?然后乘以转置Y矩阵,它可以是3X4和4X1?啊,好的!我现在明白了!我不是必须转置矩阵B才能得到3X4吗?然后乘以转置Y矩阵,它可以是3X4和4X1?