小编Ala*_*yed的帖子

检查矩阵是否对称,我得到的结果总是相同

我写了一个函数来检查矩阵是否是对称的.如果是,则返回1,否则返回0.它总是返回零.我试图找出错误的位置,但对我来说一切似乎都是正确的.

我的代码是:

#include <stdio.h>
#include <stdlib.h>
#define max 100

int Symmetrie (int matrix[][max]) {
  int i,j;
  for(i=0;i<4;i++) {
    for(j=0;j<4;j++) {
      if(matrix[i][j] != matrix[j][i]) {
        return 0;
      }
    }
  }
  return 1;
}

int main() {
  int x;
  int  square_matrix[][max]={{1,2,3,4}
    ,{2,2,5,6}
    ,{3,5,3,7}
    ,{4,6,7,4}
  };
  x= Symmetrie(square_matrix[4][4]);
  if(x==1) {
    printf("1");
  } else {
    printf("0");
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

该函数应返回1,但它返回零.我错过了什么?

c function multidimensional-array

2
推荐指数
1
解决办法
106
查看次数

修复的固定点:: Eq a =>(a - > a) - > a - > a

大家好我正在尝试实现高阶函数修复,它从初始点计算任意函数的有吸引力的固定f :: a -> ax.也就是说,f?(x)给定f和形式的形式的固定点x.

-- CONTRACT
fix :: Eq a => (a -> a) -> a -> a
-- DEFINITION [TODO: Implement fix]
fix f x  = ?
Run Code Online (Sandbox Code Playgroud)

我目前的尝试是:

fix f x | f x == x = x
        | otherwise = fix f x
    where x = f x
Run Code Online (Sandbox Code Playgroud)

注意:如果函数没有从起点收敛,则函数不会终止.有谁可以帮助我吗 ?我试过但它没有返回任何东西

haskell fixpoint-combinators

1
推荐指数
1
解决办法
142
查看次数