#include <stdio.h>
#include <stdlib.h>
#define MAX 50
#define MAX_P MAX*(MAX-1)/2
typedef int VexType;
typedef VexType Mgraph[MAX][MAX];
void creat_mg(Mgraph G);
void output_mg(Mgraph G);
void to_gl(Mgraph G);
Mgraph G1;
int G2[MAX][MAX_P];//全通图边数为 n*(n-1)/2 n为顶点数
int n,e;
int main()
{
creat_mg(G1);
output_mg(G1);
to_gl(G1);
}
void creat_mg(Mgraph G)
{ int i,j,k;
printf ("\n请输入无向图的顶点数和边数,如 4,4 : ");
scanf ("%d,%d",&n,&e);
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)G[i][j]=0; //将邻接矩阵初始化
for (k=1;k<=e;k++)
{
printf ("\n请输入第%d/%d条边的两个顶点编号,如 %d,%d : ",k,e,k,k+1);
scanf ("%d,%d",&i,&j);
G[i][j]=1;
G[j][i]=1; //邻接矩阵是对称矩阵
}
}
void output_mg(Mgraph G)
{
int i,j;
printf ("\n您输入的图生成的邻接矩阵是: \n");
for (i=1;i<=n;i++)
{
printf ("\n");
for (j=1;j<=n;j++)
printf ("%5d",G[i][j]);
}
printf ("\n");
}
void to_gl(Mgraph G){
int i,j,k=1;
printf ("\n您输入的图生成的关联矩阵是: \n");
for(i=1;i<=n;i++)
{
for(j=i;j<=n;j++)
{
if(G[i][j]!=0)
{
G2[i][k]=1;
G2[j][k]=1;
k++;
}
}
}
for(i=1;i<=n;i++)
{
for(k=1;k<=e;k++)
{
printf("%5d",G2[i][k]);
}
printf("\n");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
图论.zip (6个子文件)
tulun
tulun.cbp 1KB
tulun.depend 122B
tulun.layout 318B
obj
Debug
main.o 5KB
bin
Debug
tulun.exe 31KB
main.c 2KB
共 6 条
- 1
资源评论
南宫逸洛的爸爸
- 粉丝: 1
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功