
无向图的邻接矩阵创建问题
typedefstruct{intarcs[MAXVEX][MAXVEX];charvex[MAXVEX];intvexnum;intarcnum;}AdjMatrix;...
typedef struct
{
int arcs[MAXVEX][MAXVEX];
char vex[MAXVEX];
int vexnum;
int arcnum;
}AdjMatrix;
void Creat(AdjMatrix *G)
{
int i,j,k,x,y;
char vex1,vex2;
printf("\n\n\t请输入无向图中的顶点数:");//从这里开始就运行不下去
scanf("%d",&G->vexnum);
printf("\n\n\t请输入无向图中的边数:");
scanf("%d",&G->arcnum);
for(i=0;i<G->vexnum;i++)
for(j=0;j<G->vexnum;j++)
G->arcs[i][j]=0;
printf("\n\t请输入无向图中%d个顶点:",G->vexnum);
for(i=1;i<G->vexnum;i++)
{
printf("\n\t\tNo.%d个顶点:");
scanf("%d",&G->vex[i]);
}
printf("\n\t请输入无向图中%d条边:",G->arcnum);
for(k=0;k<G->arcnum;k++)
{
printf("\n\t\tNo.%d条边,顶点V1:",k+1);
scanf("%c%c",&vex1,&vex2);
for(i=1;i<G->vexnum;i++)
{ if(G->vex[i]==vex1)
x=i;
else if(G->vex[i]==vex2)
y=i;}
G->arcs[x][y]=1;
G->arcs[y][x]=1;
}
}
求指导QAQ 我把问题在右边标注了
------------------------------------全部代码
#include<stdio.h>
#define MAXVEX 20
typedef struct
{
int arcs[MAXVEX][MAXVEX];
char vex[MAXVEX];
int vexnum;
int arcnum;
}AdjMatrix;
void Creat(AdjMatrix *G)
{
和上面一样 字数限制贴不下
}
void main()
{
AdjMatrix *G;
Creat(G);
} 展开
{
int arcs[MAXVEX][MAXVEX];
char vex[MAXVEX];
int vexnum;
int arcnum;
}AdjMatrix;
void Creat(AdjMatrix *G)
{
int i,j,k,x,y;
char vex1,vex2;
printf("\n\n\t请输入无向图中的顶点数:");//从这里开始就运行不下去
scanf("%d",&G->vexnum);
printf("\n\n\t请输入无向图中的边数:");
scanf("%d",&G->arcnum);
for(i=0;i<G->vexnum;i++)
for(j=0;j<G->vexnum;j++)
G->arcs[i][j]=0;
printf("\n\t请输入无向图中%d个顶点:",G->vexnum);
for(i=1;i<G->vexnum;i++)
{
printf("\n\t\tNo.%d个顶点:");
scanf("%d",&G->vex[i]);
}
printf("\n\t请输入无向图中%d条边:",G->arcnum);
for(k=0;k<G->arcnum;k++)
{
printf("\n\t\tNo.%d条边,顶点V1:",k+1);
scanf("%c%c",&vex1,&vex2);
for(i=1;i<G->vexnum;i++)
{ if(G->vex[i]==vex1)
x=i;
else if(G->vex[i]==vex2)
y=i;}
G->arcs[x][y]=1;
G->arcs[y][x]=1;
}
}
求指导QAQ 我把问题在右边标注了
------------------------------------全部代码
#include<stdio.h>
#define MAXVEX 20
typedef struct
{
int arcs[MAXVEX][MAXVEX];
char vex[MAXVEX];
int vexnum;
int arcnum;
}AdjMatrix;
void Creat(AdjMatrix *G)
{
和上面一样 字数限制贴不下
}
void main()
{
AdjMatrix *G;
Creat(G);
} 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询