我写了一个函数来检查矩阵是否是对称的.如果是,则返回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,但它返回零.我错过了什么?
大家好我正在尝试实现高阶函数修复,它从初始点计算任意函数的有吸引力的固定f :: a -> a点x.也就是说,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)
注意:如果函数没有从起点收敛,则函数不会终止.有谁可以帮助我吗 ?我试过但它没有返回任何东西