c语言代码要求:生成0-1关系矩阵。问题描述: 给定两个有限集和一个二元关系,计算其相应的0-1关系矩阵 输入格式 一二行分别输入两个集合的元素,用”,”分隔 第三行输入一个的二元关系,用”;”分隔。 输出格式: 输出对应的0-1关系矩阵。 样例输入: a,b,c,d a,b,d aa;bb 样例输出: 1 0 0 0 1 0 0 0 0 0 0 0
时间: 2024-01-01 21:04:30 浏览: 65
以下是生成0-1关系矩阵的 C 语言代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100
int main() {
char set1[MAX_SIZE], set2[MAX_SIZE], relation[MAX_SIZE];
int matrix[MAX_SIZE][MAX_SIZE];
memset(matrix, 0, sizeof(matrix)); // 初始化为0
// 输入两个集合
fgets(set1, MAX_SIZE, stdin);
fgets(set2, MAX_SIZE, stdin);
// 输入二元关系
fgets(relation, MAX_SIZE, stdin);
// 处理集合元素
char *p1 = strtok(set1, ",");
int index1 = 0;
while (p1 != NULL) {
p1[strlen(p1) - 1] = '\0'; // 去除换行符
strcpy(matrix[index1++], p1);
p1 = strtok(NULL, ",");
}
char *p2 = strtok(set2, ",");
int index2 = 0;
while (p2 != NULL) {
p2[strlen(p2) - 1] = '\0'; // 去除换行符
strcpy(matrix[index2++], p2);
p2 = strtok(NULL, ",");
}
// 处理二元关系
char *p = strtok(relation, ";");
while (p != NULL) {
int i = 0, j = 0;
char x[MAX_SIZE], y[MAX_SIZE];
sscanf(p, "%s%s", x, y);
for (i = 0; i < index1; i++) {
if (strcmp(x, matrix[i]) == 0) break;
}
for (j = 0; j < index2; j++) {
if (strcmp(y, matrix[j]) == 0) break;
}
if (i < index1 && j < index2) matrix[i][j] = 1;
p = strtok(NULL, ";");
}
// 输出矩阵
int i, j;
for (i = 0; i < index1; i++) {
for (j = 0; j < index2; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
注意输入格式的要求,程序的输入方式为标准输入(键盘输入),输出方式为标准输出(屏幕输出)。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)