C语言求矩阵的节点矩阵
时间: 2023-12-03 12:03:04 浏览: 131
矩阵的节点矩阵,也叫做邻接矩阵,是一个方阵,其中的每个元素表示图中两个节点之间是否存在一条边。如果节点 i 到节点 j 之间存在一条边,则邻接矩阵中第 i 行第 j 列的元素为 1,否则为 0。
以下是求矩阵的节点矩阵的 C 语言代码示例:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main()
{
int matrix[MAX_SIZE][MAX_SIZE];
int n, m; // n为节点数,m为边数
printf("请输入节点数和边数:");
scanf("%d%d", &n, &m);
// 初始化矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = 0;
}
}
// 读入边信息并更新邻接矩阵
printf("请输入每条边的起点和终点:\n");
for (int i = 0; i < m; i++) {
int u, v;
scanf("%d%d", &u, &v);
matrix[u][v] = 1;
matrix[v][u] = 1; // 如果是无向图,还需要更新对称位置的值
}
// 输出邻接矩阵
printf("邻接矩阵:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
上述代码中,我们首先定义了一个二维数组 `matrix` 来存储邻接矩阵。接着读入节点数和边数,初始化矩阵,并读入每条边的起点和终点,更新邻接矩阵。最后输出邻接矩阵即可。需要注意的是,如果是无向图,读入一条边的时候还需要同时更新对称位置的值。
阅读全文