【问题标题】:How do I make a function in C for checking if two matrices are same dimensions如何在 C 中创建一个函数来检查两个矩阵是否具有相同的维度
【发布时间】:2019-06-02 09:07:26
【问题描述】:

我需要一个函数来检查是否可以将两个矩阵相乘。 在其中,我应该检查矩阵是否相同维度,如果不是,则函数返回-1,否则返回1。稍后,下面的函数将矩阵相乘并返回先前声明的**矩阵。

//function prototype
double** matrixMultiply(double** M1, int r1, int c1, double** M2, int r2, int c2);

//我需要检查M1和M2的行数和列数是否相同,但我不知道如何

double** matrixElementwiseMultiply(double** M1, double** M2, int rows, int columns)

错误信息应该是-1,否则函数应该继续。我会使用一个标志。

【问题讨论】:

  • 只有当r1 == r2 && c1 == c2时,它们才具有相同的尺寸。你在执行这个条件时可能会遇到什么问题???
  • 我的错,我忽略了这一点。但是,在其他函数中没有定义维度,例如: double** matrixAdd(double** M1, double** M2, int rows, int columns);如何在这里检查矩阵的维度是否相同?
  • 实际上乘法应该是 r1 == c2 && r2 == c1 但仍然很简单:)
  • @OznOg:我知道,但这家伙写的是“相同的尺寸”...
  • @Pers:你应该从调用函数传递维度。

标签: c function matrix dimensions


【解决方案1】:

谢谢,现在可以了。检查矩阵是否相同维度(意味着矩阵 1 的维度 x*y 与矩阵 2 的维度相同)实际上并未在程序中进行测试,我都必须检查矩阵中的列数1 等于矩阵 2 中的行数(如果 c1==r2)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-11
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 2015-02-07
    相关资源
    最近更新 更多