c语言实现判断元素之间的自反性,对称性和传递性的代码及注释
时间: 2023-06-02 13:04:43 浏览: 185
以下是C语言实现判断元素之间自反性、对称性和传递性的代码及注释:
#include <stdio.h>
#include <stdbool.h>
// 定义矩阵大小
#define MATRIX_SIZE 3
// 判断自反性的函数
bool isReflexive(int matrix[MATRIX_SIZE][MATRIX_SIZE]) {
for (int i = 0; i < MATRIX_SIZE; i++) {
if (matrix[i][i] != 1) {
return false;
}
}
return true;
}
// 判断对称性的函数
bool isSymmetric(int matrix[MATRIX_SIZE][MATRIX_SIZE]) {
for (int i = 0; i < MATRIX_SIZE; i++) {
for (int j = i + 1; j < MATRIX_SIZE; j++) {
if (matrix[i][j] != matrix[j][i]) {
return false;
}
}
}
return true;
}
// 判断传递性的函数
bool isTransitive(int matrix[MATRIX_SIZE][MATRIX_SIZE]) {
for (int i = 0; i < MATRIX_SIZE; i++) {
for (int j = 0; j < MATRIX_SIZE; j++) {
if (matrix[i][j]) { // 若存在 i,j,则寻找 j,k
for (int k = 0; k < MATRIX_SIZE; k++) {
if (matrix[j][k] && !matrix[i][k]) { // 若存在 j,k 但不存在 i,k,则不满足传递性
return false;
}
}
}
}
}
return true;
}
int main() {
// 定义矩阵
int matrix[MATRIX_SIZE][MATRIX_SIZE] = {
{1, 0, 0},
{0, 1, 0},
{0, 1, 1}
};
// 判断自反性
if (isReflexive(matrix)) {
printf("该矩阵具有自反性\n");
} else {
printf("该矩阵不具有自反性\n");
}
// 判断对称性
if (isSymmetric(matrix)) {
printf("该矩阵具有对称性\n");
} else {
printf("该矩阵不具有对称性\n");
}
// 判断传递性
if (isTransitive(matrix)) {
printf("该矩阵具有传递性\n");
} else {
printf("该矩阵不具有传递性\n");
}
return 0;
}
注释:
1. 程序通过定义一个矩阵来判断其自反性、对称性和传递性。
2. isReflexive 函数用来判断矩阵的自反性。在矩阵的对角线上,如果所有元素都为 1,说明矩阵具有自反性。
3. isSymmetric 函数用来判断矩阵的对称性。如果矩阵关于其主对角线对称,说明矩阵具有对称性。
4. isTransitive 函数用来判断矩阵的传递性。如果对于任意的 i,j,k,若存在 i,j 和 j,k,那么必须存在 i,k,才能说明矩阵具有传递性。
5. 程序输出该矩阵是否具有自反性、对称性和传递性。
阅读全文
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)